So, this code actually is correct, as far as the course realizes - if I comment out or remove the function call, it accepts the code and allows me to progress.
If I call the function, with ANY input, it gets stuck in an infinite loop. Anybody have any ideas why? None of the other threads I've been able to find seem to have anything useful to change apart from the 'return/puts' kind of change, which also does nothing.
$VERBOSE = nil # We'll explain this at the end of the lesson. require 'prime' # This is a module. We'll cover these soon! def first_n_primes(n) return "n must be an integer." unless n.isa_a? Integer return "n must be greater than 0." if n <= 0 prime_array ||=  prime = Prime.new for num in (1..n) prime_array.push(prime.next) end return prime_array end fire_n_primes(2)