为了方便撰写,我将我的哈希写成这样:
但是有没有更简单的方法来实现同样的目标呢?
h = {
:key1: [:val1, :val2, :val3],
:key2: [:val4, :val5, :val6]
}
但是无论在哪里使用它,我都需要查找与值相关联的键。目前我正在执行以下操作进行转换:
h = Hash[*{
:key1: [:val1, :val2, :val3],
:key2: [:val4, :val5, :val6]
}.map {|key, vals| vals.map {|val| [val, key]}}.flatten]
这会给我想要的:
{ :val1 => :key1, :val2 => key1, :val3 => key1, :val4 => key2, :val5 => :key2, :val6 => :key2 }
但是有没有更简单的方法来实现同样的目标呢?