argius note

プログラミング関連

練習:フィボナッチ数列

各所で書かれていたので、そういえば自分で書いたこと無いな、と思いつつ、とりあえず見ないで書いてみよう。と数日前思ってたのを忘れてた。

class Fibonacci
  def initialize(n = 1) @array = [1, 1] and self[n] end
  def [](n) @array[n] ||= self[n - 2] + self[n - 1] end
  def to_array() @array end
end

o = Fibonacci.new 21
p o
p o.to_array
puts o.to_array.join " "

わざとらしくカッコが無いのとか1行に押し込めてるのは趣味です。特に、andでつなげているところはかなりの見苦しさ。結果も見苦しいので省略。