what is the Difference between loop and while in ruby ?
loop do
end
while 1
end
what is the Difference between loop and while in ruby ?
loop do
end
while 1
end
Loop will continue indefinitely until it meets with some break statement
somewhere in its loop body.
While can also be terminated with a break statement, but more
traditionally,
it ends when the condition specified in the while statement is
satisfied.
If you have “while 1” as you’ve written here though, the two should be
functionally equivalent.
On Sat, Feb 14, 2009 at 7:03 AM, Vetrivel V.
<[email protected]
Hi,
At Sat, 14 Feb 2009 15:03:03 +0900,
Vetrivel V. wrote in [ruby-talk:328175]:
what is the Difference between loop and while in ruby ?
loop do
end
loop is a kernel method which takes a block. A block
introduces new local variable scope.
loop do
a = 1
break
end
p a #=> causes NameError
while 1
end
while doesn’t.
while 1
a = 1
break
end
p a #=> 1
Hi,
Am Samstag, 14. Feb 2009, 15:16:16 +0900 schrieb Nobuyoshi N.:
At Sat, 14 Feb 2009 15:03:03 +0900,
Vetrivel V. wrote in [ruby-talk:328175]:what is the Difference between loop and while in ruby ?
loop is a kernel method which takes a block. A block
introduces new local variable scope.while doesn’t.
In other words:
$ irb
irb(main):001:0> Kernel.private_instance_methods.grep /loop/
=> [“loop”]
irb(main):002:0> Kernel.private_instance_methods.grep /while/
=> []
Bertram
On Sat, Feb 14, 2009 at 7:16 AM, Nobuyoshi N. [email protected]
wrote:
introduces new local variable scope.
while doesn’t.while 1
a = 1
break
end
p a #=> 1–
Nobu Nakada
furthermore loop do has an implicit rescue clause for a StopIteration
exception
(I believe 1.8.7 and 1.9.1 only IIRC)
therefore
loop do
some_enumerator.next
end
becomes a convenient idiom.
HTH
Robert
This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.
Sponsor our Newsletter | Privacy Policy | Terms of Service | Remote Ruby Jobs