我有这个代码:
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
Run Code Online (Sandbox Code Playgroud)
输出是这样的:
we enter something funny
yes
no
return else -> no
Run Code Online (Sandbox Code Playgroud)
为什么我没有收到错误?什么def/ else/ end是什么意思?
Max*_*Max 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
Run Code Online (Sandbox Code Playgroud)
但每个部分都是可选的!所以你可以省略rescue并ensure得到你的榜样.