时间:2011-02-08 20:33:31

标签: ruby

我从未见过任何Ruby代码中使用的全局变量。我知道他们的使用在各种语言中都是不受欢迎的,但它们在Ruby中似乎实际上是无用的。任何人都可以指出使用它们的设计合理的代码吗?

如果我是对的,他们是多余的/历史的,为什么他们坚持1.9?

要明确,我并不是指Ruby为您设置的变量,如$"$stdin。我的意思是在一个人自己的代码中使用。

2 个答案:

答案 0 :(得分:2)

我唯一一次在合适的代码中看到它是为了记录。

$log = Logger.new('foo.log', 'daily')

一个常量可能会很好,但它在某个常量上调用方法感觉奇怪。

答案 1 :(得分:1)

环境变量通常是Ruby中的全局变量。 CLASHSPATH在jruby等等......

此外,您可以使用全局变量实现廉价单例(虽然这是不可取的)。

因此,全局变量肯定在Ruby中占有一席之地。