Issue #13802 has been updated by shevegen (Robert A. Heiler).
Yes, works as the code specifies, not a bug, so misfiled.
I anyone wants to test via copy/paste into IRB, here is a slightly reformatted variant:
y = 1
loop do
y += 1
next unless y % 2==0
puts y
break if y > 10
end
----------------------------------------
Bug #13802: break inside loop is not working as expected
https://bugs.ruby-lang.org/issues/13802#change-66149
* Author: lingarajg (Lingaraj Gowdar)
* Status: Open
* Priority: Normal
* Assignee:
* Target version:
* ruby -v: ruby 2.3.1p112 (2016-04-26) [x86_64-linux-gnu]
* Backport: 2.2: UNKNOWN, 2.3: UNKNOWN, 2.4: UNKNOWN
----------------------------------------
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:
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.
---Files--------------------------------
bug.rb (69 Bytes)
--
https://bugs.ruby-lang.org/
Unsubscribe: <mailto:ruby-core-request / ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>