こんばんは!
正月が待ち遠しい jugyo です!
みなさんは何歳くらいまでお年玉をもらっていましたか?
さて、Enjoy Scala! の第3回目です。
今日は Scala で配列を扱ってみたいと思います。
ではさっそくコードを見てみましょう。
// Array を new val strings = new Array[String](4) // 配列に値をセット strings(0) = "A" strings(1) = "B" strings(2) = "C" strings(3) = "D" // 出力 strings.foreach(i => println(i))
この例では、長さが 4 の配列を定義しています。
「strings(3) = "D"」のように「()」を使って配列に値をセットしていますね。
こう書いたとき、コンパイラが「strings.update(3, "D")」というふうに update メソッドを呼び出すかたちに変換してくれるらしいです。
次に、配列の 0 〜 2 番目までを出力したいとしましょう。
そういう場合は以下のようにします。
for (i <- 0 to 2) println(strings(i))
ちなみに、上記の「0 to 2」という部分は実際には「(0).to(2)」というメソッド呼び出しに変換されるらしいです。
なので、以下のように書きかえることもできます。
for (i <- 0.to(2)) println(strings(i))
さらに、 foreach メソッドを使って以下のように書きかえることもできます。
0.to(2).foreach(i => println(strings(i)))
で、さっきの「0 to 2」が「(0).to(2)」となる件ですけど、 Scala ではメソッド呼び出しの際、レシーバが明示的に指定されていると「.」と「()」を省略できるらしいです。
なので例えば、「(1).+(1)」というメソッド呼び出しを「1 + 1」というふうに書けるんです!
面白いですね!
