だ、私は右のENVハッシュなぜENVは、ハッシュのように振る舞うが、それはObjectクラス
ENV['HOME']
=>'/Users/yozloy'
しかし
ENV.class
#=>Object
だ、私は右のENVハッシュなぜENVは、ハッシュのように振る舞うが、それはObjectクラス
ENV['HOME']
=>'/Users/yozloy'
しかし
ENV.class
#=>Object
それはハッシュメソッドのほとんどを実装していますが、明らかに少数である考えることになっています行方不明:
[:default, :default=, :default_proc, :default_proc=, :merge!, :merge, :flatten, :compare_by_identity, :compare_by_identity?]
これらのほとんどは、あなたが使用することを考えていませんが、merge
とんでした0に有用である可能性があります。
ENV
が正確にハッシュが、環境変数と検索し、それらを設定するための関連メソッドのラッパーではないことに注意してください
envtbl
は、ハッシュのように扱うことができますので
CRuby源はhash.c
envtbl = rb_obj_alloc(rb_cObject);
rb_extend_object(envtbl, rb_mEnumerable);
...
/*
* ENV is a Hash-like accessor for environment variables.
*
* See ENV (the class) for more details.
*/
rb_define_global_const("ENV", envtbl);
であなたを教えてください。
CRubyのソースコードアウトポイントのおかげで、しかしところでCRubyは正確に何ですか?私はグーグルで後にまともな結果を得ることができません。 – mko
ああ、それは時々もMRIと呼ばれる「メイン」Rubyのバージョン、あなたは[ruby-lang.org](http://www.ruby-lang.org/en/)でダウンロードすることができます一つです。 – emboss