From: "List.rb" Date: 2009-07-25T14:19:21+09:00 Subject: Re: using until Modify it to show u what ur problem is until primes[currentNum] p currentNum p primes[currentNum] currentNum += 2 end On Jul 24, 2009, at 4:27 PM, Lloyd Linklater wrote: > I am writing a little thing to find all the prime numbers to a > million. > I got it to work this way: > > highestPrime = 1_000_000 > primes = Array.new(highestPrime, true) > > currentNum = 3 > while currentNum < highestPrime do > (currentNum*currentNum).step(highestPrime, currentNum * 2) { |i| > primes[i] = false } > currentNum += 2 > while primes[currentNum] == false do > currentNum += 2 > end > end > > I am unhappy with using currentNum += 2 twice. I very much want to > write something like this: > > while currentNum < highestPrime do > (currentNum*currentNum).step(highestPrime, currentNum * 2) { |i| > primes[i] = false } > currentNum += 2 until primes[currentNum] == true > end > > but that just hangs the program. What am I missing? > -- > Posted via http://www.ruby-forum.com/. >