gpt4 book ai didi

ruby - 将 Ruby block 中的变量分配给更高的范围

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

我正在尝试使用可重试的 gem。

我有一个返回值的函数,该值包含在如下所示的可重试 block 中。

Retriable.retriable do
x = some_function(1, 2)
end

....do something with x...

我想出如何做到这一点的唯一方法是在 block 内使用全局变量,即@x,但我认为这不一定是最好的方法。如果有人能指出更好的方法,我将不胜感激。

谢谢

最佳答案

在一般情况下,您可以通过在循环外声明变量来解决此问题:

x = nil

%w[foo bar baz].each do |word|
x = word
end

puts x # => "baz"

在此处查看实际效果:https://repl.it/@jrunning/AbsoluteShamelessVerification

关于ruby - 将 Ruby block 中的变量分配给更高的范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53014914/

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