自定義列舉器
讓我們為斐波那契數字建立一個 Enumerator
。
fibonacci = Enumerator.new do |yielder|
a = b = 1
loop do
yielder << a
a, b = b, a + b
end
end
我們現在可以使用 fibonacci
的任何 Enumerable
方法:
fibonacci.take 10
# => [1, 1, 2, 3, 5, 8, 13, 21, 34, 55]
讓我們為斐波那契數字建立一個 Enumerator
。
fibonacci = Enumerator.new do |yielder|
a = b = 1
loop do
yielder << a
a, b = b, a + b
end
end
我們現在可以使用 fibonacci
的任何 Enumerable
方法:
fibonacci.take 10
# => [1, 1, 2, 3, 5, 8, 13, 21, 34, 55]