我有多个类具有以下两个哈希表。这两个映射必须具有相同的键集。我的问题是,有很多类具有此结构,并且键集会随时间而改变。
mapping_1 = {
:key_1 => "attr_1_1",
:key_2 => "attr_2_1",
:key_3 => "attr_3_1"
}
mapping_2 = {
:key_1 => "attr_1_2",
:key_2 => "attr_2_2",
:key_3 => "attr_3_2"
}
我需要能够根据两个映射表中的键访问相应的值,同时也需要从映射1中的值获取对应的键。换句话说,我需要执行以下操作:
mapping_1[:key_1]
mapping_1.index("attr_2_1") #(Ruby 1.8.7)
mapping_2[:key_3]
问题: 是否有一种方法可以避免在两个结构中重复编写键?我想过将键映射到数组(
:key_1 => ["attr_1_1", "attr_1_2"]
),但这不起作用,因为当我运行命令mapping_1.index()
时,我不知道第二个属性的值是什么。