Class: PrimePrinter::PrimeGenerator
- Inherits:
-
Object
- Object
- PrimePrinter::PrimeGenerator
- Defined in:
- lib/prime_printer/prime_generator.rb
Instance Method Summary collapse
-
#initialize ⇒ PrimeGenerator
constructor
A new instance of PrimeGenerator.
- #next(count = 1) ⇒ Object
Constructor Details
#initialize ⇒ PrimeGenerator
Returns a new instance of PrimeGenerator.
2 3 4 5 6 7 8 9 10 11 |
# File 'lib/prime_printer/prime_generator.rb', line 2 def initialize @generator = Fiber.new do Fiber.yield 2 value = 3 loop do Fiber.yield value if is_prime? value value += 2 end end end |
Instance Method Details
#next(count = 1) ⇒ Object
13 14 15 16 17 18 19 20 21 |
# File 'lib/prime_printer/prime_generator.rb', line 13 def next(count = 1) if count == 1 @generator.resume else [].tap do |primes| count.times { primes.push @generator.resume } end end end |