How many times is the map block evaluated here?count = 0 result = (1..Float::INFINITY).lazy.map { |x| count += 1; x * 2 }.first(3) p [result, count]