arrays - 是否有从二维数组中提取对角线的下标语法?

标签 arrays raku matrix-indexing arrayaccess

我大多可以关注 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/

相关文章:

javascript - jquery 获取数组中的一个对象作为数组

sqlite - 无法解析调用者 sqlite3_bind : Do not understand this error in my Perl 6 script

arrays - 逻辑数组 - 在赋值 A(I) = B 中,B 和 I 中的元素数必须相同

module - 使用完全限定名称调用模块子例程

matlab - 具有各种维度字段的结构的逻辑索引

arrays - 有效拾取包围元素

java - 数组中的小数点位置? ( java )

javascript - 如何在对象内声明不会注册到 0 索引的数组?

javascript - 按重要性顺序按属性对 JSON 对象数组进行排序

object - 我可以编写一个行为类似于哈希的对象吗?