Pineスクリプト道場は、Pineスクリプト入門からコード作成までをサポートする初心者の方のための記事です。
Pineスクリプトをある程度使える方は「Pineスクリプトの学校」にて記事を書いておりますのでそちらをどうぞ。
1、そもそも変数とは?
変数とは、値を入れる箱のことである
詳しく見ていこう。
まず、以下の図を見て欲しい。りんご3個とりんご2個がある。これらを合わせた数はいくらだろうか?
もちろん答えは5個である。
では、以下の図で箱Aと箱Bの中のリンゴを足し合わせた数はどうなるだろうか。
まず、①でA、B、Cという3つの箱を用意している。
そして、②でAとBの箱にりんごを入れている。
最後に③でCの箱に、Aの箱のりんごとBの箱のりんごを足し合わせた数、りんごを入れている。
つまり、AとBの箱の中のりんごの数は5個となる。
実はこの箱こそが変数である。また、A、B、Cのような箱の名前を変数名という。
そして、①、②の作業には名前がついており、
①箱(変数)を用意する作業 : 変数の宣言
②箱(変数)にりんご(値)を入れる作業 : 値の代入
と呼ぶ。
また、③の場面でもCという箱(変数)にAとBの値を足し合わせた値を入れているため、値の代入を行っていることになる。
以後、この箱のことを変数と呼ぶことにする。
2、Pineスクリプト上ではどのように記述するか
先ほどの図では箱とりんごの例で説明したが、Pineスクリプト上では以下のように記述する。
変数の宣言(箱の用意)と値の代入を同時に行う場合は「=」を使用し、値の代入(りんごを入れる作業)ha「:=」を使用するので注意する。
A = 0 //Aという変数を用意(宣言)。箱の中は何もないので0とする。(①)
B = 0 //Bという変数を用意(宣言)。箱の中は何もないので0とする。(①)
C = 0 //Cという変数を用意(宣言)。箱の中は何もないので0とする。(①)
A := 3 //変数Aに3という値を代入。’:=’という記号は代入を意味する。(②)
B := 2 //変数Bに2という値を代入。’:=’という記号は代入を意味する。(②)
C := A + B //変数CにAとBの値を代入。(③)
①では、変数を使用するためには変数を用意しないといけないので、変数の宣言を実施している。そして、用意した変数に0を入れている。このように、変数の宣言と値の代入を同時に行う際は、「=」の記号を使用する。
②では、変数AとBにそれぞれ3と2という値を代入記号の「:=」 を使用して代入している。
③では、変数Cに変数Aと変数Bの値を足し合わせた値(つまり5)を代入記号の「:=」 を使用して代入している。
こうすることで、変数Cには5という値が代入される。
3、変数の型について
次に「変数の型」について説明する。難しくないので安心して欲しい。
変数の型とは、値を入れる箱の種類のこと
である。先ほどは箱にりんごを入れる例を挙げた。
では、りんごではなくて牛乳を入れたい場合はどうだろうか。箱に牛乳を入れる人がいるだろうか?
そんなことをすれば、箱から牛乳が漏れだしてしまう。そのため、普通はコップなどに注ぐはずだ。
変数もこれと同じである。中に入れる値によって正しい容器(変数)を用意する必要がある。
では、プログラミングの世界においては、数値の他にどのような値を扱うのだろうか。
実は数値の他にも「文字列」や「小数」、「論理型」などを代入することができる。
そして、それらの値を代入するためにはそれに対応した型の変数を用意しなければならない。
代表的なものについて以下の表に示す。詳細については今後解説して行くので、こんなものがあるのか程度に覚えていてもらえれば良い。
4、変数の宣言について
変数の宣言とは変数を用意すること。
宣言時には変数型と変数名、初期値を宣言する。
先ほど、変数に入れる値によって変数の型を変えないといけないと説明したが、変数の型や初期値はどのように宣言するのだろうか。
Pineスクリプトでは、以下のように宣言を行う。
‘変数の型’ ‘変数名’ = ‘初期値’
具体的な例を挙げると、整数を代入する予定の初期値ゼロの変数Aを宣言する場合は、
int A = 0
と記述する。intが変数型、Aが変数名、0が初期値である。
※ただし例外あり
ここで思い出して欲しいのが、りんごの例を挙げた際に記述した以下のプログラムである。
A = 0 //Aという変数を用意(宣言)。箱の中身は何もないので0とする。(①)
B = 0 //Bという変数を用意(宣言)。箱の中身は何もないので0とする。(①)
C = 0 //Cという変数を用意(宣言)。箱の中身は何もないので0とする。(①)
A := 3 //変数Aに3という値を代入。’:=’という記号は代入を意味する。(②)
B := 2 //変数Bに2という値を代入。’:=’という記号は代入を意味する。(②)
C := A + B //変数CにAとBの値を代入。(③)
上から3行目までで変数の宣言をしているが「変数型」の宣言をしていないことにお気づきだろうか。
実は、変数の型を指定しない場合、初期値に合わせて勝手に変数の型を宣言してくれる。
上記の例では、変数A、B、Cで0という値を代入しているため「整数型の変数」であると認識されている。
そのため、これらの変数に0.1や0.4など小数を代入しようとするとエラーになるので注意。
ちなみに少数を扱いたいのであれば、A = 0.0と宣言をすれば良い。
5、まとめ
1、変数とは、値を入れる箱のことである
2、変数を用意する作業を変数の宣言、変数に値を入れる作業を値の代入
3、変数の宣言時には変数型と変数名、初期値を宣言する。
次回は変数と名前が似て非なるもの「関数」について解説することにする。
本記事を気に入っていただけたらブックマークお願いします!また、ツイッターもやってるのでフォローよろしくお願いいたします!
Twitter : makoto(@Makoto_beginner)
また、記事中で不明なことや間違い等ありましたら以下のコメント欄からコメントいただけると幸いです。
皆様のコメントをもとにどこよりもわかりやすいブログを目指していきます。