Class: Prime

Inherits:
Object show all
Defined in:
lib/epitools/core_ext/numbers.rb

Instance Method Summary collapse

Instance Method Details

#[](range) ⇒ Object

Return an array of prime numbers within the specified range. (It still has to generate all the primes less than the lower bound, so, yeah… be warned.)


466
467
468
469
470
471
472
473
474
475
476
477
478
# File 'lib/epitools/core_ext/numbers.rb', line 466

def [](range)
  ubound    = range.end
  lbound    = range.begin
  ubound   -= 1 if range.exclude_end?
  generator = each(ubound)
  n         = nil

  loop do
    break if (n = generator.succ) >= lbound
  end

  [n, *generator.to_a]
end