Tôi có một mảng và hàm trả về một giá trị cho một giá trị. Cuối cùng tôi muốn tạo một hashmap có các giá trị của mảng là giá trị khóa, và kết quả của f (key_value) làm giá trị. Có một cách sạch sẽ, đơn giản, giống như mỗi bản đồ của mảng, làm điều này bằng cách sử dụng khối?Ruby - ánh xạ mảng tới hashmap
Vì vậy, cái gì đó tương đương với
hsh = {}
[1,2,3,4].each do |x|
hsh[x] = f(x)
end
nhưng trông giống như nhiều đến thế này, ở chỗ nó là đơn giản và một dòng?
results = array.map { | x | f(x) }
N ote rằng điều này không làm việc với các điều tra lười biếng, nhưng Ruby 2.1.0 '.to_h' làm. –