変数を使う
(以下の番号つきリストにカーソルを置きながら読んで下さい)
- 変数は、関数の中での引数(呼出元から値を受け取るためのもの。
- 関数名の後ろの括弧内に並べてある)と同じように使うことができる。
- ただし、図のような書式で宣言をした上で、値を設定しておくことも必要。
- 最初に キーワード val または var (なるべく前者を 使うのが望ましい)。
- 次に変数の名前。その後ろに : を置いたあと、その変数のデータ型を書くことができる
(型指定などと呼ばれる)。
- ただしこの型指定は、多くの場合、省略しても型推論機能が働いて、
言語処理系が適切な判断をしてくれるので、書かないことが多い。

- その次に、= 記号のあと、その変数に設定(代入とも呼ぶ)すべき値を書く。
- ここでは newTurtle() 関数を呼出し、その関数が返す値(Turtle型の値が返ってくる)
を設定しておく(記憶させておく、と考えてもいい)ことになる。
- なお、newTurtle() 関数は、そのタートルを配置すべき位置の座標(2つの数値、どちらも
型は Double型)を渡す必要がある。
- ただし、整数(や、整数型を返す関数呼出)を
書いてもいい。その時はScala内部の機能により自動的にしかるべきデータ型(ここでは
Double)に変換される。
- ちなみに、newTurtle のような名前のつけ方(単語を2つ以上連結して識別子の名前を
1つ作ったときに、それを構成する各単語の頭文字のみ大文字にしてある)を、
アッパーケース(大文字)、ロウアーケース(小文字)等に呼応して、
キャメルケース、と呼ぶ。
- これは図のように名前の輪郭がラクダ(Camel)の背の
ラインに似ているからである。
- その連結したその見地から見たとき、これまでkojoで亀を動かすときに呼んだ
forward(), left() のような関数は、レシーバを省略した形だと考えられる。
- レシーバが省略された時には、デフォルトのレシーバとして
turtle0 (最初から画面にいる標準のタートルを表す変数名)が想定されている
と理解していい。