我想创建一个查找表来查找数组中对象的索引:
创建一个数组["a", "b", "c"]
并为每个对象的索引生成一个查找哈希表{"a"=>0, "b"=>1, "c"=>2}
我能想到的最简单的方法是:
i = 0
lookup = array.each_with_object({}) do |value,hash|
hash[value] = i
i += 1
end
和:
i = -1
lookup = Hash[array.map {|x| [x, i+=1]}]
我觉得这样做有更优雅的解决方案,欢迎任何想法!
请您参考如下方法:
这个怎么样:
Hash[array.zip 0..array.length]