2012年10月1日月曜日

Scala体験記


Scalaを使って何か書いてみようと思ったけど、基本的なループの書き方すらよく分かってなかったので復習がてら内容をメモ

以下Int型リストの総和を求めるというものすごく簡単な例

関数型っぽく書いたとき


def calcsum(list:List[Int]) : Int = {
    if (list.isEmpty)
      0
    else
      list.head + calcsum(list.tail)
  }

Java(手続き型)っぽく書いたとき


  def calcsum2(list:List[Int]) : Int = {
    var sum = 0
    for( value <- list) sum += value
    sum
  }

こういう風に関数型と手続き型の両方で書けるのがScalaのいいところ。 その気になれば全部Javaっぽく書くのも可能。

0 件のコメント:

コメントを投稿