On 8/2/06, Daniel Baird <danielbaird / gmail.com> wrote: > Hi all, > > I've been golfing around with the sieve of Eratosthenes. Here's what > I've got so far: > > a=(2..100).to_a;p a.each{|c|a.map!{|d|c&&d&&c<d&&d%c==0?nil:d}}.compact > > It's already under 80 chars, but I'd still love to remove the > definition of the array a, and do the whole thing with no semicolons. > Any suggestions? > Improvement: a=(2..100).to_a;p a.each{|c|a.reject!{|d|c<d&&d%c==0}} ..swapped to reject, and now I don't have to test for c and d being nil, or do the final compact. Seems ok even though I'm editing the array I'm looping through.. ;D -- Daniel Baird http://tiddlyspot.com (free, effortless TiddlyWiki hosting) http://danielbaird.com (TiddlyW;nks! :: Whiteboard Koala :: Blog :: Things That Suck)