toRuby50th

今日はtoRubyの50回目。
いつもな感じでよかった
@さん、@さんのはやぶさの話も聞けたし。ありがとうございました。
後半のHashデフォルト値を使ったフィボナッチの話はRubyKaigi2010のメモを探すとこんな感じだったような。

@fib = Hash.new { |hash, key| hash[key] = hash[key - 1] + hash[key - 2] }
@fib[1] = 1
@fib[2] = 2

def fibonacci(number)
  @fib[number]
end

よさそう。

>> (1..30).map { |i| fibonacci(i) }
=> [1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181, 6765, 10946, 17711, 28657, 46368, 75025, 121393, 196418, 317811, 514229, 832040, 1346269]

追記
違った。

@fib = Hash.new { |hash, key| hash[key] = hash[key - 1] + hash[key - 2] }
@fib[0] = 0
@fib[1] = 1
@fib[2] = 1

def fibonacci(number)
  @fib[number]
end

今度はどうだろ。

>> (0..30).map { |i| fibonacci(i) }
=> [0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181, 6765, 10946, 17711, 28657, 46368, 75025, 121393, 196418, 317811, 514229, 832040]