I've passed this question. Still I have an issue

Why do I need to check whether prime_array is assigned yet or not? (line 14)

The prime_array is existed only in the function first_n_primes, right? This means after first_n_primes finished its task, prime_array will be deleted. So the next time using first_n_primes, prime_array will be brand new. Then why do I need to add ||= ?

Thanks.

```
$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)
unless n.is_a? Integer
return "n must be an integer."
end
if n <= 0
return "n must be greater than 0."
end
prime_array ||= [] #line 14
prime = Prime.new
for num in (1..n)
prime_array.push(prime.next)
end
return prime_array
end
first_n_primes(10)
```