December 21, 2009

初めての Scala #2 : foreach と for

こんばんは!
クリスマスが待ち遠しい jugyo です!
ずいぶん寒くなってきましたね!

さて、今日は Scala の foreachfor についてのお話です。

foeach と for と

scala コマンドでスクリプトを起動した際、 args という変数にプログラムの引数が入ってきます。
配列の foreach メソッドを使って引数のリストを出力してみます。

args.foreach(arg => println(arg))

上記の例では foreach メソッドに arg => println(arg) という関数を渡しています。
arg => println(arg) というのが Scala における関数リテラルみたいです。
引数を一個しかとらない関数リテラルの場合は引数を省略できるらしく、上記の例だと以下のように書くこともできます。

args.foreach(println)

関数リテラルで明示的に型を指定することもできて、その場合は以下のようになります。

args.foreach((arg :String) => println(arg))

Scala では型は基本的に変数等の後ろに書くみたいです。

ちなみに for 文(式?)もあって、それを使うと上記のコードを以下のように書き換えることができます。

for (arg <- args)
  println(arg)

僕は foreach のほうが好きですね。

No Comments »

Leave a comment

※上の項目は入力してもしなくてもよいです。