Ruby глобальные переменные, законное использование - PullRequest
3 голосов
/ 08 февраля 2011

Я никогда не видел глобальных переменных, используемых в любом коде Ruby. Я понимаю, что их использование неодобрительно для разных языков, но в Ruby они кажутся бесполезными . Кто-нибудь может указать на правильно разработанный код, который их использует?

Если я прав и они избыточны / историчны, почему они сохраняются в 1.9?

Для ясности, я не имею в виду переменные, которые Ruby настраивает для вас, например $" и $stdin. Я имею в виду использует в своем собственном коде.

Ответы [ 2 ]

2 голосов
/ 09 февраля 2011

Единственный раз, когда я вижу это в приличном коде, это для журнала.

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

Константа, вероятно, подойдет, но она почему-то чувствует странные вызовы методов для константы.

1 голос
/ 08 февраля 2011

Переменные окружения обычно являются глобальными переменными в Ruby. Так CLASSPATH в jruby и так далее ...

Кроме того, вы можете реализовать дешевые синглтоны, используя глобальные переменные (хотя это не рекомендуется).

Итак, глобальные переменные определенно имеют место в Ruby.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...