Equivalent of "continue" in Ruby

RubyKeywordContinue

Ruby Problem Overview


In C and many other languages, there is a continue keyword that, when used inside of a loop, jumps to the next iteration of the loop. Is there any equivalent of this continue keyword in Ruby?

Ruby Solutions


Solution 1 - Ruby

Yes, it's called next.

for i in 0..5
   if i < 2
     next
   end
   puts "Value of local variable is #{i}"
end

This outputs the following:

Value of local variable is 2
Value of local variable is 3
Value of local variable is 4
Value of local variable is 5
 => 0..5 

Solution 2 - Ruby

next

also, look at redo which redoes the current iteration.

Solution 3 - Ruby

Writing Ian Purton's answer in a slightly more idiomatic way:

(1..5).each do |x|
  next if x < 2
  puts x
end

Prints:

  2
  3
  4
  5

Solution 4 - Ruby

Inside for-loops and iterator methods like each and map the next keyword in ruby will have the effect of jumping to the next iteration of the loop (same as continue in C).

However what it actually does is just to return from the current block. So you can use it with any method that takes a block - even if it has nothing to do with iteration.

Solution 5 - Ruby

Ruby has two other loop/iteration control keywords: redo and retry. Read more about them, and the difference between them, at Ruby QuickTips.

Solution 6 - Ruby

I think it is called next.

Solution 7 - Ruby

Use next, it will bypass that condition and rest of the code will work. Below i have provided the Full script and out put

class TestBreak
  puts " Enter the nmber"
  no= gets.to_i
  for i in 1..no
    if(i==5)
      next
    else 
      puts i
    end
  end
end

obj=TestBreak.new()

Output: Enter the nmber 10

1 2 3 4 6 7 8 9 10

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionMark SzymanskiView Question on Stackoverflow
Solution 1 - RubyIan PurtonView Answer on Stackoverflow
Solution 2 - RubyNick MooreView Answer on Stackoverflow
Solution 3 - RubysberkleyView Answer on Stackoverflow
Solution 4 - Rubysepp2kView Answer on Stackoverflow
Solution 5 - Ruby19WAS85View Answer on Stackoverflow
Solution 6 - RubyidursunView Answer on Stackoverflow
Solution 7 - RubyRakesh KumarView Answer on Stackoverflow