Slides
Loops
Ref. WGR Chapter 6, Control-flow techniques
Most people don't use loops, they use iterators, so you can just skim this part.
while
while rand < 0.9
puts "All work and no play makes Jack a dull boy."
end
begin
puts "All work and no play makes Jack a dull boy."
end while rand < 0.9
until
until is the opposite of while
until rand > 0.9
puts "All work and no play makes Jack a dull boy."
end
begin
puts "All work and no play makes Jack a dull boy."
end until rand > 0.9
while and until both have one-line versions
puts "For he's a jolly good fellow!" while rand < 0.9
puts "For he's a jolly good fellow!" until rand > 0.9
for in
fruits = ["apple", "banana", "cherry"]
for fruit in fruits
puts "I love #{fruit}!"
end
...but don't use for in! Instead use each:
fruits = ["apple", "banana", "cherry"]
fruits.each do |fruit|
puts "I love #{fruit}!"
end