我收到第6行的错误。我尝试打印ruby解释器无法识别的全局变量。这是为什么 ?我该如何修改?
localVar = "Local Variable"
$globalVar = "Global Variable"
puts(localVar)
def func
puts("From the function func")
puts(globalVar) #line 6
end
def changer
globalVar = "New Global Var"
puts("New Global Var : #{globalVar}")
end
func #Call the function func
changer #Call the function changer
输出:
Local Variable
From the function func
global.rb:6:in `func': undefined local variable or method `globalVar' for main:Object (NameError)
from global.rb:13:in `<main>'
答案 0 :(得分:3)
您需要每次将$
放在变量名称前面。
puts($globalVar) #line 6
答案 1 :(得分:1)
在定义或使用Ruby时,总是需要在Ruby中使用$
前缀作为全局变量。
答案 2 :(得分:1)
这将为你做到这一点。 $是变量名称的一部分。
puts($globalVar)