gpt4 book ai didi

ruby - 确保如何在 ruby​​ 中工作

转载 作者:数据小太阳 更新时间:2023-10-29 06:22:55 25 4
gpt4 key购买 nike

检查这段代码和输出

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

我原以为在 block 执行后 ensure 将被执行,因为 ensure 返回 true ,调用该方法的最终输出将是“true”。

最佳答案

ensure block 的返回值被丢弃——这只是一种在函数完成它应该做的事情(并返回适当的值)后进行清理的方法。这样做的原因是因为它允许您在函数体的不同位置放置多个 return 语句(或 raise 语句),而不必在不同的地方重复清理代码放置在函数中。

关于ruby - 确保如何在 ruby​​ 中工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1756452/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com