Rubyでハッシュのハッシュを作成すると、便利な2次元(またはそれ以上)のルックアップが可能になります。ただし、挿入するときは、最初のインデックスがハッシュにすでに存在するかどうかを常に確認する必要があります。例えば:
h = Hash.new
h['x'] = Hash.new if not h.key?('x')
h['x']['y'] = value_to_insert
新しいハッシュが自動的に作成される場合は、次のことを行うことをお勧めします。
h = Hash.new
h['x']['y'] = value_to_insert
同様に、最初のインデックスがまだ存在しない値を検索する場合は、「[]」エラーの未定義のメソッドを受け取るよりも、nilが返される方が望ましいでしょう。
looked_up_value = h['w']['z']
この動作をするHashラッパークラスを作成することもできますが、このタスクを実行するための既存のRubyイディオムはありますか?