drc*_*law 11 arrays perl6 arrayaccess matrix-indexing
我通常可以按照语法在文档页面上“向下钻取/切片”为具有多个维度(并展平)的数组。一个非常酷的功能。例如给出:
my @a=[[1,2,3],
[4,5,6],
[7,8,9]];
Run Code Online (Sandbox Code Playgroud)
我可以使用以下方法选择上述的第2列
say @a[0,1,2;1]; #This output (2,5,8)
Run Code Online (Sandbox Code Playgroud)
是否有可能以类似的紧凑语法提取对角线(1,5,9)?
say @a.[ 0,1,2 ; { $++ } ] ; # (1 5 9)
Run Code Online (Sandbox Code Playgroud)
所以我用的是代替1
求值的。1
{ $++ }
Block
当P6遇到一个可调用的代码对象作为下标值时,它将为要评估的每个切片调用一次,在本例中为0
th,1
st和2
nd行。
$
是匿名标量状态变量。