在Ruby中创建哈希的哈希允许方便地进行二维(或更高维)查找。然而,插入时必须始终检查第一个索引是否已经存在于哈希表中。例如:
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']
可以创建一个哈希包装类来实现这种行为,但是是否存在一种现有的 Ruby 习惯用语来完成这个任务?