これでデフォルト値として空のハッシュを持つハッシュを作成したかったのです。ちょっと変だけど、私はそれが役に立つと思ったとしよう。Hash.new({})がハッシュメンバーを非表示にするのはなぜですか?
は、だからここに私がやったことだ:私はハッシュを検査する際
>> a = Hash.new({})
=> {}
>> a[:a][:b] = 5
=> 5
>> a
=> {}
>> a[:a]
=> {:b=>5}
>> a.keys
=> []
>> a.size
=> 0
>> a[:a].size
=> 1
言い換えれば、私はハッシュメンバーが表示されていないが、私はそのキーでアクセスすることができます。
これが期待どおりの動作ですか?ここで何が起こっているのですか?
これは、Ruby 1.9.1です。以前のバージョンは試していません。
編集:それはハッシュのハッシュのハッシュである必要はありませんように簡略化例...
それは(すべてのルビーのバージョン間)の挙動が期待される
1.8.7でも再現可能です。 –