Perl 6のroundrobin
1300 ワード
定義
使用法
Round-Robin Merge Two Lists of Different Length
roundrobinはzipに似ています.異なる点は、
最も長いリストの要素がなくなるまで、未定の値をスキップしただけです.
roundrobinは
2つの文字列を交差する文字
方法1:
方法2:
方法3
multi roundrobin(List:D: --> Seq)
使用法
roundrobin LISTS
Round-Robin Merge Two Lists of Different Length
roundrobinはzipに似ています.異なる点は、
roundrobin
は光要素のリストで停止するのではなく、定義されていない値をスキップするだけです.my @a = 1;
my @b = 1..2;
my @c = 1..3;
for flat roundrobin(@a, @b, @c) -> $x { $x.say } # 1,1,1,2,2,3
最も長いリストの要素がなくなるまで、未定の値をスキップしただけです.
my @list1 = 'a' .. 'h';
my @list2 = ;
say flat roundrobin @list1, @list2; # a x b y c d e f g h
roundrobinは
Seq
の列を返すのでflatを使用して展開します.my @list1 = 'a' .. 'h';
my @list2 = ;
my $n = 3;
say flat roundrobin @list1.rotor($n - 1, :partial), @list2;
# >>>
# OUTPUT«a b x c d y e f g h»
.rotor
メソッドは、1つのリストをサブリストに分解します.2つの文字列を交差する文字
#Given:
u = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
l = 'abcdefghijklmnopqrstuvwxyz'
#Wanted:
'AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz'
方法1:
say join '', (u.comb Z l.comb);
方法2:
say [~] (u.comb Z l.comb);
方法3
say [~] flat (u.comb Z l.comb);