From: Jeremy Tregunna Date: 2005-09-20T09:54:53+09:00 Subject: Re: ruby idiom for python's for/else while/else On 19-Sep-05, at 7:15 PM, Gergely Kontra wrote: > Hi! > > Is there a similar construct to python's: > >>>> for n in range(2, 10): > ... for x in range(2, n): > ... if n % x == 0: > ... print n, 'equals', x, '*', n/x > ... break > ... else: > ... # loop fell through without finding a factor > ... print n, 'is a prime number' > ... > 2 is a prime number > 3 is a prime number > 4 equals 2 * 2 > 5 is a prime number > 6 equals 2 * 3 > 7 is a prime number > 8 equals 2 * 4 > 9 equals 3 * 3 Directly, yes; though hardly anybody writes code this way (at least I've never seen anybody write something like this, like how I'm about to give it to you). I'd see William Morgan's message for a better suggestion. for n in (2..10) do for x in (2..n) do if n % x == 0 puts "#{n} equals #{x} * #{n/x}" break else puts "#{n} is a prime number" end end end > Gergo -- Jeremy Tregunna jtregunna@blurgle.ca "If debugging is the process of removing bugs, then programming must be the process of putting them in." --Dykstra