いざ新言語に手をつけてみると…

 以前の日記でふれたScalaをさわってみた。

 いやー、いざ新言語を勉強するとなるとなかなかつらいものがある。

 Javaを使っていれば、何の問題もなく書けるようなことがなかなかかけない。
 (下へいくほど解決するまで手間がかかった)

  1. コンストラクタの作り方
  2. 指定した型の値を返すメソッドの書き方
  3. キャストの方法
  4. コンストラクタがパラメータ付きのものしかないJavaクラスを継承する方法

 ScalaJavaと文法が結構ちがうので、直感でかけなくてもどかしかった。

 もっともショックだったのは、forループの書き方がしばらくわからなかったこと。

 Scala関数プログラミング的なアプローチの部分をあまり勉強しないままコーディングにつっぱしってはまった。

 ”どうせJavaのforeach的な書き方でいけるだろう"とおもってたのが甘かった。

 "<-"なんて記号がアリだとはちょっと思わない。

 結局、僕がかけるようになったのは以下の2つ

  • 1個めの書き方(Cなforループ)

for (i <- Array.range(0, 3)) {
 println("hello " + i.toString())
}

  • 2個目の書き方(foreachな書き方)

var aryStr = new Array[String](3)

aryStr(0) = "C language"
aryStr(1) = "Java"
aryStr(2) = "Scala"

aryStr.foreach((s:String) => {
 println(s)
})

ぼくは2個目にちょっとぞくぞくします。