我可以从方法中设置一个全局值



我想知道我是否有一种方法可以从方法中配置全局变量,例如:

Class myExample
  $my_global_variable = 0
  def initialize
    change_my_global_variable
  end
  def change_my_global_variable
     $my_global_variable = 2
  end
end

Class myExample2 < myExample
 @this_value = $my_global_variable
 #I want @this_value to be set to 2
end
#Updated:
#Currently when I tried what i have above I get the following:
#@this_value = 0 instead of 2

我正在使用真正的旧代码,我需要在加载后更改全局变量的值,因为它需要从函数中提取值。有没有办法可以初始化将更改的全局变量?当前" $ my_global_variable"从不更改,它保持值0

您的方法永远不会被调用,否则,它将起作用。

您的方法在initialize中调用,但是从未制作过myExamplemyExample2的新实例,因此您的初始化和方法调用永远不会发生。

这是解决此问题的一种方法:

Class myExample2 < myExample
  @this_value = change_my_global_variable
end

是的,当然,您可以从方法内更改全局变量。但是,您永远不会调用更改全局变量的方法,因此它永远不会更改。您需要在某个地方调用该方法。

相关内容

  • 没有找到相关文章

最新更新