我想知道我是否有一种方法可以从方法中配置全局变量,例如:
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
中调用,但是从未制作过myExample
或myExample2
的新实例,因此您的初始化和方法调用永远不会发生。
这是解决此问题的一种方法:
Class myExample2 < myExample
@this_value = change_my_global_variable
end
是的,当然,您可以从方法内更改全局变量。但是,您永远不会调用更改全局变量的方法,因此它永远不会更改。您需要在某个地方调用该方法。