我大多可以关注 syntax在文档页面上“向下钻取/切片”到具有多个维度(和展平)的数组中。一个很酷的功能。例如给出:
my @a=[[1,2,3],
[4,5,6],
[7,8,9]];
我可以使用以下方法选择上述第 2 列:
say @a[0,1,2;1]; #This output (2,5,8)
是否可以以类似的紧凑语法提取对角线 (1,5,9)?
最佳答案
say @a[ 0,1,2 ; { $++ } ] ; # (1 5 9)
所以,而不是 1
,计算结果为 1
, 我用过 { $++ }
,这是一个 Block
.当 Raku 遇到一个作为下标值的可调用代码对象时,它会为它正在评估的每个切片调用一次,在这种情况下是
0
th, 1
st 和 2
nd 行。$
是匿名标量状态变量。
关于arrays - 是否有从二维数组中提取对角线的下标语法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55964862/