>>9の問題をRubyで書いてみた。
階比数列がちと、わからんかったら、それだけ非対応した。
見つからない場合は、例外を投げる。
結構汚い。(鬱
-------------------------------
class Series
 def [](i)
  unless @nums[i]
   @nums << next_int(i-1)
  end
   return @nums[i]
 end
end

class Arithmetical < Series
 def initialize(start, skip)
  @nums = [start]
  @skip = skip
 end
 def next_int(i)
  return self[i] + @skip
 end
end

class Difference < Series
 def initialize(start, skip_series)
  @nums = [start]
  @skip_series = skip_series
 end
 def next_int(i)
  return self[i] + @skip_series[i]
 end
end

class Geometrical < Series
 def initialize(start, power)
  @nums = [start]
  @power = power
 end
 def next_int(i)
  return self[i] * @power
 end
end
---------------------
続く