如何将[5, 6, 7]的每个元素分配给row的值并使row成为{1=>5, 2=>6, 3=>7}

row = {1=>0, 2=>1, 3=>0}
#this following line doesn't work of course
row.values = [5, 6, 7]
#NoMethodError: undefined method `values=' for {1=>0, 2=>1, 3=>0}:Hash
row
#I want: {1=>5, 2=>6, 3=>7}

最佳答案

row.keys.zip([5, 6, 7]){|kv| row.store(*kv)}

关于ruby - 将值数组分配给Hash.values的最佳方法是什么,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15882583/

10-16 14:33