Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby:在2d数组中给定索引时,替换子数组中该索引处的第一个元素_Ruby_Arrays - Fatal编程技术网

Ruby:在2d数组中给定索引时,替换子数组中该索引处的第一个元素

Ruby:在2d数组中给定索引时,替换子数组中该索引处的第一个元素,ruby,arrays,Ruby,Arrays,我有一个2d数组,看起来像: array = [["apples", 10], ["oranges", 12], ["peaches", 15], ["lemons", 7]] 我想替换数组中的一些字符串(保留数组中的第二个位置不变),借助另一个2d数组的帮助,该数组包含我要用作替换的字符串,第二个位置是我要放置替换的索引,它看起来像 replacements = [["blankets", 1], ["shoes", 3]] 所以我想把毯子放在数组的第一个位置,在数组中的索引1处 outp

我有一个2d数组,看起来像:

array = [["apples", 10], ["oranges", 12], ["peaches", 15], ["lemons", 7]]
我想替换
数组
中的一些字符串(保留
数组
中的第二个位置不变),借助另一个2d数组的帮助,该数组包含我要用作替换的字符串,第二个位置是我要放置替换的索引,它看起来像

replacements = [["blankets", 1], ["shoes", 3]]
所以我想把
毯子
放在数组的第一个位置,在
数组
中的索引1处

output = [["apples", 10], ["blankets", 12], ["peaches", 15], ["shoes", 7]]

有人能帮我吗

以下各项应能做到这一点:

replacements.each{|e, i| array[i][0] = e}
replacements.each{|r| array[r[1]][0] = r[0] }

单循环即可完成此任务:

replacements.each { |r| array[r[1]][0] = r[0] if array[r[1]] }