第33回 Ruby/Rails勉強会@関西 に参加する

4月25日(土)に、第33回 Ruby/Rails勉強会@関西 があるので、参加することにした。今回は id:Sixeight さんの「今更はじめるCucumber」という発表が楽しみ。みんなも友達とか誘いまくって参加するといいよ。申し込みは日本Rubyの会の告知ページを見てね。

で、せっかくなのでRubyの復習をすることにした。お題はフィボナッチ数列

#!/usr/bin/env ruby

# フィボナッチ数列の第n項の値を取得する
def fib(n)
  if n == 1 then
    1
  elsif n == 2 then
    1
  else
    fib(n - 1) + fib(n - 2)
  end
end

(1..10).each do |n|
  puts fib(n)
end

実行結果はこんな感じ。

1
1
2
3
5
8
13
21
34
55

とりあえずできてる。

別のアプローチでもやってみた。

#!/usr/bin/env ruby

# フィボナッチ数列の第1項から第n項までの
# 配列を取得する
def fib(n)
  ret = [1, 1]
  (3..n).each do
    ret.push(ret[-1] + ret[-2])
  end
  return ret.first(n)
end

puts fib(10).join(",")

結果はこんな感じ。

1,1,2,3,5,8,13,21,34,55

こっちの方がすっきりしてるっぽい。

というわけで、4月25日を楽しみに待ってます。