Rubyコードでは、グローバル変数は一度も使用されていません。私はそれらの使用法が言語間で眉をひそめられていることを理解していますが、実際にはルビーの役に立たないと思われます。誰もそれらを使用する適切に設計されたコードを指すことができますか?Rubyグローバル変数、正当な使用
私は正しいと彼らは冗長/歴史的、なぜそれらは1.9で持続するのですか?
明らかに、Rubyがあなたのために設定する変数は、$"
と$stdin
のようなものではありません。私は自分のコードで使うことを意味します。
Rubyコードでは、グローバル変数は一度も使用されていません。私はそれらの使用法が言語間で眉をひそめられていることを理解していますが、実際にはルビーの役に立たないと思われます。誰もそれらを使用する適切に設計されたコードを指すことができますか?Rubyグローバル変数、正当な使用
私は正しいと彼らは冗長/歴史的、なぜそれらは1.9で持続するのですか?
明らかに、Rubyがあなたのために設定する変数は、$"
と$stdin
のようなものではありません。私は自分のコードで使うことを意味します。
私はまともなコードでそれを見る唯一の時間はログです。
$log = Logger.new('foo.log', 'daily')
定数は多分うまくいくでしょうが、何とか定数で奇妙な呼び出し方法を感じます。
環境変数は、通常、Rubyのグローバル変数です。 CLASSPATHはjrubyなどです。
また、グローバル変数を使用して安価なシングルトンを実装することもできます(ただし、お勧めできません)。
したがって、グローバル変数にはRubyの場所があります。
「クラスメソッド」は定数でメソッドを呼び出す例です。 –
あなたの$ logに相当するRailsがRails.logger、cattr_accessorだとします。彼らはグローバル変数と機能的に同等だと思うので、あまりにも珍しいわけではありません! – noodl