class Fibber
Holds state for a fibonacci series
Public Class Methods
new(limit)
click to toggle source
# File src/ruby/bin/math_server.rb, line 65 def initialize(limit) fail "bad limit: got #{limit}, want limit > 0" if limit < 1 @limit = limit end
Public Instance Methods
generator() { |num(num: 1)| ... }
click to toggle source
# File src/ruby/bin/math_server.rb, line 70 def generator return enum_for(:generator) unless block_given? idx, current, previous = 0, 1, 1 until idx == @limit if idx.zero? || idx == 1 yield Math::Num.new(num: 1) idx += 1 next end tmp = current current = previous + current previous = tmp yield Math::Num.new(num: current) idx += 1 end end