使用Ruby在数组中查找大小为N的所有子集
给定一个数组['a', 'b', 'c', 'd', 'e', 'f']
,我如何获得包含两个,三个和四个元素的所有子集的列表?
我是Ruby的新手(从C#转移)并且不确定’Ruby Way’会是什么。
查看Array#组合
然后这样的事情:
2.upto(4) { |n| array.combination(n) }
调整basicxman的一点点:
2.upto(4).flat_map { |n| array.combination(n).to_a } #=> [["a", "b"], ["a", "c"], ["a", "d"], ..., ["c", "d", "e", "f"]]