我想在映射例程中使用数组的索引。例如,这个 Raku 代码:
raku -e 'my @a = "First", "Second", "Third", "First"; say @a.map({ "Index of $_ is: ;" })'
印刷:
(Index of First is: ; Index of Second is: ; Index of Third is: ; Index of First is: ;)
是否可以获取数组的索引,例如:
(Index of First is: 0; Index of Second is: 1; Index of Third is: 2; Index of First is: 3;)
谢谢!
需要
.kv
产生“键”和值。对于数组,键是索引 0、1、2...这是一个长度为 2N 的平坦序列;我们可以
map
通过显式签名一次获取两件事:或通过占位符变量:
由于索引按字典顺序出现在值之前,因此其工作方式与前面的显式签名情况相同,即在幕后为我们生成相同的签名。我们可以看到这个:
请注意,重要的是变量名称的 Unicode 顺序,而不是出现的顺序。
本着 TIMTOWDI 的精神,一些替代方案(IMO 不是更好):
.pairs
, tableine of.kv
生成“key => value”对而不是平面列表我认为最后一个是最不惯用的。