Code Demo · Ruby · Lazy Enumerator

ruby
numbers = Enumerator.new do |output|
  value = 1
  loop do
    output << value
    value += 1
  end
end.lazy
  .select(&:odd?)
  .map { |number| number * number }
  .take(5)
  .to_a

puts numbers.join(", ")
206 characters13 lines< 618 B