RubyでHaskellのiterateを実装した

Posted on November 27, 2016

なぜ標準ライブラリにないのか


def iterate(init, &block)
  Enumerator.new do |y|
    loop do
      y << init
      init = block.call(init)
    end
  end
end

p iterate(1, $:succ).take(10) [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

便利.標準であるべき.