Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/25.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 on rails 查找数组的Ruby数组的所有置换_Ruby On Rails_Ruby - Fatal编程技术网

Ruby on rails 查找数组的Ruby数组的所有置换

Ruby on rails 查找数组的Ruby数组的所有置换,ruby-on-rails,ruby,Ruby On Rails,Ruby,假设我有以下数组的输入数组: [[1],[2,3],[4,5],[6]] 我想制作所有这样的排列: [[1,2,4,6],[1,2,5,6],[1,3,4,6],[1,3,5,6]] 用Ruby做这件事的好方法是什么?或者真的有什么办法吗?我觉得有一个我看不到的优雅解决方案。您需要的是笛卡尔积。比如: 产品([2,3],[4,5],[6])#=>[1,2,4,6],[1,2,5,6],[1,3,4,6],[1,3,4,6],[1,3,5,6]。那么我们如何概括这一点呢?假设我的初始数组是ar

假设我有以下数组的输入数组:

[[1],[2,3],[4,5],[6]]
我想制作所有这样的排列:

[[1,2,4,6],[1,2,5,6],[1,3,4,6],[1,3,5,6]]

用Ruby做这件事的好方法是什么?或者真的有什么办法吗?我觉得有一个我看不到的优雅解决方案。

您需要的是笛卡尔积。比如:


产品([2,3],[4,5],[6])#=>[1,2,4,6],[1,2,5,6],[1,3,4,6],[1,3,4,6],[1,3,5,6]。

那么我们如何概括这一点呢?假设我的初始数组是
arr
。。。这是
arr[0]。产品(arr[1..-1])
还是什么?(不是,我已经试过了:)-几乎-您需要将参数设置为product,如
arr[0]。product(*arr[1..-1])
Man,不错!非常感谢!