结帐此代码和输出
def lab
yield
ensure
puts 'in ensure block'
true
end
puts lab { puts 'inside inline block'; false }
output is
#inside inline block
#in ensure block
#false
Run Code Online (Sandbox Code Playgroud)
我希望在执行块后确保执行,因为确保返回true,调用方法的最终输出将为'true'.
Ken*_*oom 67
保证块的返回值被丢弃 - 它只是在函数执行任何预期后清理的方法(并返回适当的值).这样做的原因是它允许您将多个return语句(或raise语句)放在函数体的不同位置,而不必在函数的不同位置复制清理代码.
| 归档时间: |
|
| 查看次数: |
16505 次 |
| 最近记录: |