我想知道是否有办法从方法配置全局变量,例如:
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
答案 0 :(得分:0)
您的方法在initialize
中调用,但不会生成myExample
或myExample2
的新实例,因此您的初始化和方法调用永远不会发生。
这是解决这个问题的一种方法:
Class myExample2 < myExample
@this_value = change_my_global_variable
end
答案 1 :(得分:0)
是的,当然,您可以从方法中更改全局变量。但是,您永远不会调用更改全局变量的方法,因此它永远不会被更改。你需要在某处调用该方法。