我有这段代码:
def with_else
puts 'we enter something funny'
if true
puts "yes"
'return YES'
end
'return what?'
else
puts 'no'
'return else -> no'
end
puts with_else
输出是这样的:
we enter something funny
yes
no
return else -> no
为什么我没有收到错误? def
/ else
/ end
的含义是什么?
答案 0 :(得分:12)
这实际上是一个更大的语法结构的一部分:
def foo
# method stuff
rescue
# stuff if an exception is caught
else
# stuff if no exception is caught
ensure
# always run after rescue and else
end
但每个部分都是可选的!因此,您可以省略rescue
和ensure
以获得示例。