我想創建一個查找表以找到對象的索引中的數組:生成哈希查找表的對象的索引陣列
EET陣列["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]}]
我覺得這樣做有更優雅的解決方案,歡迎任何想法!
真的很好! +1 – apneadiving
只是做了基準(代碼在我的答案),你的想法更快 – apneadiving