Your Web News in One Place

Help Webnuz

Referal links:

Sign up for GreenGeeks web hosting
April 29, 2021 09:14 am GMT

Sharpen your Ruby: Iterators

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.

Each post will include some theory but also exercise and solution.

If you have any questions/comments or your are new and need help, you can comment below or send me a message.

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.

loop do  put 'Hello World'end

While loop

It is possible loop while a condition is meet.

number = 0while number < 100  puts number  number += 1end# Will print numbers from 0 to 99

Loop until

It is possible loop until a condition is meet.

number = 0until number == 10  puts number  number += 1end# Will print numbers from 0 to 9

Loop x number of times

(1..10).each do |i|  puts iend# 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.each do |name|     puts nameend# or shorthand versionnames.each { |name| puts name }

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.each do |name|    next if name === 'Mike'   puts nameend# Peter # John

The iteration will skip the puts statement if the name is equal to Mike

names.each do |name|    break if name === 'Mike'   puts nameend# 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.times do |num|  next if num.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.

I am new on twitter so if you want to make me happy
Follow me: Follow @justericchapman


Original Link: https://dev.to/ericchapman/sharpen-your-ruby-iterators-3jio

Share this article:    Share on Facebook
View Full Article

Dev To

An online community for sharing and discovering great ideas, having debates, and making friends

More About this Source Visit Dev To