签出此代码和输出
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
我希望在执行了块之后,将执行Sure,因为Sure返回true,所以调用该方法的最终输出将为true.
签出此代码和输出
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
我希望在执行了块之后,将执行Sure,因为Sure返回true,所以调用该方法的最终输出将为true.
确保块的返回值被丢弃——这只是一种在函数执行其应该执行的操作(并返回适当的值)后进行清理的方法.这样做的原因是,它允许您在函数体的不同位置放置多个return
条语句(或raise
条语句),而无需在函数中的不同位置复制清除代码.