追記:これの完全版みたいなのが comfrk vol3 に載ってます。「今夜はお前と俺でマルチパラダイムだからな」とかいうのです。 あまりにもアウトプットしなさすぎなので適当に何か書きます。 フィボナッチ関数を scala で object-oriented な感じで書いてみます。 class Fib { def fib(n : Int) : Int = if (n <= 1) 1 else fib(n - 1) + fib(n - 2) } 簡単ですね。しかし、簡単すぎます。というわけで、お決まりのメモ化を「Fib クラスに手を加えず」に行ってましょう。 class FibMemo extends Fib { import collection.mutable.Map private val table : Map[Int, Int] = Map() override def fib(n