ruby​​全局变量的正确用法$ *

问题描述:

我想知道全局变量$*的正确用法。

如果程序有puts $*[0]它很好用。相反,如果我使用它,如下所示:

for i in 2..$*[0] 

的范围坏值(ArgumentError)是罚球。任何意见表示赞赏

埃姆你为什么要使用它? 如果我是正确的,你可以这样做:

$hello = "Hello world" 

它将很好地工作。 你可以使用它,例如,如果你有这样的事情:

$hello = "hello world" 
class test 
    def putHello() 
    puts $hello 
    end 
end 
t = test.new 
+0

这是如何与ARGV – Maddy 2010-04-12 13:22:53

+0

ohw对不起。我认为这是一个关于$类型的问题,以及何时使用它。我的错误 – heldopslippers 2010-04-12 13:57:55

这是因为它有错误的类型。试试这个:

for i in 2..$*[0].to_i 
+0

太好了。我在学Ruby。我认为它会被转换成像perl这样的正确类型。 – Maddy 2010-04-12 13:54:58