自定义枚举器
让我们为斐波那契数字创建一个 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]