使用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"]]