以前の日記でふれたScalaをさわってみた。
いやー、いざ新言語を勉強するとなるとなかなかつらいものがある。
Javaを使っていれば、何の問題もなく書けるようなことがなかなかかけない。
(下へいくほど解決するまで手間がかかった)
ScalaはJavaと文法が結構ちがうので、直感でかけなくてもどかしかった。
もっともショックだったのは、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個目にちょっとぞくぞくします。