Scalaはじめました

Scalaいいですね。フィボナッチ数列を書いてみたら綺麗にかけて感動しました。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
 object fib {
def fib(n : Int) : Int = {
def loop(n :Int) : Int = {
if (n == 0) 0
else if (n == 1) 1
else fib(n-2) + fib(n-1)
}

loop(n)
}

def main(args: Array[String]): Unit =
println(fib(9))
}

末尾再帰によって実装しました。すこし前にCで実装したコードはなかなかゴチャゴチャしてたのですが、Scalaだとシンプルにまとまったように思えます。さすがに速度には劣りますが。