Perl 6中列表的所有子集

时间:2018-05-09 19:49:41

标签: math set perl6

我想知道(记住Perl 6有你想要的一切),是否有一些内置的乐器可以帮助产生列表的所有非空子集(顺序无关紧要)。

例如,我有一个清单:

my @a = 1, 2, 3;

我需要一个函数f,以便f(@a)生成:

((1), (2), (3), (1, 2), (1, 3), (2, 3), (1, 2, 3))

1 个答案:

答案 0 :(得分:13)

@a.combinations(1..*)

将返回您正在寻找的Seq。请注意,如果没有参数,则会生成一个空列表作为第一个元素。