我偶然发现了Quota中的this article,看到这段代码被剪掉了。但是,我无法找到有关它的更多信息。
def Ke(x)
"called Ke with param #{x}"
end
$ Ke 'sha'
=> "Called Ke with param sha"
$ Ke$ha
=> "Called Ke with param "
$ Ke$overwhaterver
=> "Called Ke with param "
为什么调用Ke$ha
调用函数Ke(x)
,但它也忽略了x
参数?
答案 0 :(得分:4)
使用$
,您可以访问全局变量。 Ruby自动添加括号。它与使用Ke($ha)
或Ke $ha
相同。
始终可以无误地引用全局变量;它们默认为nil
:
$zxc # => nil
$zxc = 'asd'
$zxc # => "asd"
参数$ha
不会被忽略",它是nil
,而nil.to_s
是一个空字符串。