将Ruby块中的变量分配给更高范围

杰克逊

我正在尝试使用可回收的宝石。

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

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

....do something with x...

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

谢谢

塞尔吉奥·图伦采夫

这种确切的情况可以这样解决:

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

但是总的来说,不,您不能在外部作用域中声明变量。这就是为什么我们范围。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章