2

第 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>'
4

3 回答 3

3

您需要将$每次都放在变量名的前面。

puts($globalVar) #line 6
于 2012-06-11T06:17:10.407 回答
1

在定义或使用 Ruby 中的全局变量时,您总是需要使用$前缀。

于 2012-06-11T06:18:30.027 回答
1

这将为您解决问题。$ 是变量名的一部分。

puts($globalVar) 
于 2012-06-11T06:43:24.407 回答