给定一个数组['a', 'b', 'c', 'd', 'e', 'f']
,我如何获得包含两个,三个和四个元素的所有子集的列表?
我是Ruby的新手(从C#转移)并且不确定'Ruby Way'是什么。
答案 0 :(得分:13)
答案 1 :(得分:7)
稍微调整一下basicxman:
2.upto(4).flat_map { |n| array.combination(n).to_a }
#=> [["a", "b"], ["a", "c"], ["a", "d"], ..., ["c", "d", "e", "f"]]