Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.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中组合这两个数组_Ruby_Arrays_Delegates_Combinations - Fatal编程技术网

如何在Ruby中组合这两个数组

如何在Ruby中组合这两个数组,ruby,arrays,delegates,combinations,Ruby,Arrays,Delegates,Combinations,我有两个长度和格式相同的数组。我正在寻找最短的方法来执行以下操作: [[:todo],[],['text']].some_operation([[],[:low],[]]) -> [[:todo],[:low],['text']] 由于我希望删除重复项: [[:todo],[],['text']].some_operation([[:todo],[:low],['text','more']]) -> [[:todo],[:low],['text','more']] 如果在a和b中

我有两个长度和格式相同的数组。我正在寻找最短的方法来执行以下操作:

[[:todo],[],['text']].some_operation([[],[:low],[]])
->
[[:todo],[:low],['text']]
由于我希望删除重复项:

[[:todo],[],['text']].some_operation([[:todo],[:low],['text','more']])
->
[[:todo],[:low],['text','more']]

如果在
a
b
中有值,则

a.zip(b).map { |aa, bb| (aa + bb).uniq }
如果你真的想把它放到
数组
类中,你可以对它进行monkey补丁(不推荐,特别是对于这种特定的东西),或者对它进行优化(新的,在旧版本中不起作用)。

你也可以这样做

a.each_with_index.map {|aa, i| aa | b[i] }
a.zip(b).map{|x|x.flatten.uniq}