
Posted on • Edited on • Originally published ateric-the-coder.com
Sharpen your Ruby: Part 5
I develop in Javascript, Python, PHP, and Ruby. By far Ruby is my favorite programming language.
Together let start a journey and revisit our Ruby foundations.
Follow me on Twitter:EricTheCoder_
Classic Loop
In Ruby like any other programming language we can iterate a number of fix or variable times. Here are a classic infinite loop that will execute until the program crash.
loopdoput'Hello World'end
While loop
It is possible loop while a condition is meet.
number=0whilenumber<100putsnumbernumber+=1end# Will print numbers from 0 to 99
Loop until
It is possible loop until a condition is meet.
number=0untilnumber==10putsnumbernumber+=1end# Will print numbers from 0 to 9
Loop x number of times
(1..10).eachdo|i|putsiend# print numbers from 1 to 19
or also
10.times{puts"Hello World"}
Loop through each element
By far, the most use loop is the 'each' iteration
# Array of namesnames=['Peter','Mike','John']# Iterate the names listnames.eachdo|name|putsnameend# or shorthand versionnames.each{|name|putsname}
Break and Continue
It is possible to stop the loop before the end. It is also possible to skip one iteration and go to the next one.
names.eachdo|name|nextifname==='Mike'putsnameend# Peter# John
The iteration will skip the puts statement if the name is equal to Mike
names.eachdo|name|breakifname==='Mike'putsnameend# Peter
The iteration will stop if the name is equal to Mike.
Exercise
Create a little program that:
- Create a loop with 10 iterations (from number 1 to 10)
- Each iteration will print only if the iteration number is even. Odd number will be skip.
Solution
10.timesdo|num|nextifnum.odd?puts"Number#{num}"end
Conclusion
That's it for today. The journey just started, stay tune for the next post very soon. (later today or tomorrow)
If you have any comments or questions please do so here or send me a message on twitter.
Follow me on Twitter:EricTheCoder_
Top comments(1)
For further actions, you may consider blocking this person and/orreporting abuse