Project

General

Profile

Bug #13802

Updated by nobu (Nobuyoshi Nakada) over 6 years ago

Reproduce process: 
 1. Create a file (<filename>.rb) 
 2. Add the below code 
 3. Run with syntax - ruby <filename>.rb 

 your ruby version (ruby -v): 
 ruby 2.3.1p112 (2016-04-26) [x86_64-linux-gnu] 

 reproducible ruby script: 

 ```ruby 
 y=1 

 loop do 
	 y += 1 
	 next unless y%2==0 
	 puts y 
	 break if y > 10 
 end 
 ``` 

 Result of reproduce process: 

 ``` 
 2 
 4 
 6 
 8 
 10 
 12 
 [Finished in 0.0s] 
 ``` 

 Expected result and the reason why you expect: 

 ``` 
 2 
 4 
 6 
 8 
 10 
 [Finished in 0.0s] 
 ``` 

 Reason is when the condition "y > 10" is met, the code should exit from there, tested with both "break" and "exit". result is same.

Back