Actions
Feature #14606
openChange begin-else-end without rescue from warning to syntax error
Status:
Open
Assignee:
-
Target version:
-
Description
begin
p :foo
else
p :bar
end
# => :foo
# => :bar
[1,2,3].each do
p :foo
else
p :bar
end
# => :foo
# => :bar
begin-else-end without rescue is useless and dangerous. (especially, do-else-end is easy to mistake)
In actually, programmer never intend to write like these.
Ruby interpreter can guard this case by syntax error.
Updated by matz (Yukihiro Matsumoto) almost 7 years ago
Accepted.
Matz.
Updated by mame (Yusuke Endoh) almost 7 years ago
I'm not against the removeal.
BTW, surprisingly, the following code works "as intended."
def fib(x)
if x >= 2
a = fib(x - 1)
b = fib(x - 2)
return a + b
end else x
end
p fib(10) #=> 55
Actions
Like0
Like0Like0