role Positional[::T = Mu{ ... }

支持使用 [ ] 后缀运算符(通常是类列表对象)对它们进行索引的对象的角色。具有 Positional 角色的示例类型包括 ListArrayRangeBuf

方法§

方法 of§

method of()

返回位置容器元素的类型约束,即上面定义中的 T,如您所见,默认为 Mu。它作为类型对象返回。

my @þ;
say @þ.of.^name;   # OUTPUT: «Mu␤ 
my Str @þð;
say @þð.of.raku;   # OUTPUT: «Str␤» 
say (my int @).of# OUTPUT: «(int)␤» 

混合此角色的类应提供的方法§

方法 elems§

method elems()

应返回实例化对象中可用元素的数量。

方法 AT-POS§

method AT-POS(\position)

应返回给定位置的值/容器。

方法 EXISTS-POS§

method EXISTS-POS(\position)

应返回一个 Bool,指示给定位置是否实际具有值。

方法 STORE§

method STORE(\values:$INITIALIZE)

仅当您希望支持

my @a is Foo = 1,2,3;

绑定 Positional 角色实现的语法时,才应提供此方法。

应接受用于(重新)初始化对象的值。当首次在对象上调用该方法时,可选的命名参数将包含一个 True 值。应返回调用者。

另请参阅§

有关可为 Positional 角色实现的其他方法的信息,请参阅 为位置下标实现的方法

类型图§

Positional 的类型关系
raku-type-graph 中文 Positional 中文 Positional Mu 中文 Mu Any 中文 Any Any->Mu 中文 Cool 中文 Cool Cool->Any 中文 Iterable 中文 Iterable Range 中文 Range Range->Positional 中文 Range->Cool 中文 Range->Iterable 中文 Stringy 中文 Stringy Blob 中文 Blob Blob->Positional 中文 Blob->Stringy 中文 List 中文 List List->Positional 中文 List->Cool 中文 List->Iterable 中文 Associative 中文 Associative IO::Path::Parts 中文 IO::Path::Parts IO::Path::Parts->Positional 中文 IO::Path::Parts->Any 中文 IO::Path::Parts->Iterable 中文 IO::Path::Parts->Associative 中文 Uni 中文 Uni Uni->Positional 中文 Uni->Any 中文 Uni->Stringy 中文 Slip 中文 Slip Slip->List 中文 Array 中文 Array Array->List 中文 NFKC 中文 NFKC NFKC->Uni 中文 NFC 中文 NFC NFC->Uni 中文 NFD 中文 NFD NFD->Uni 中文 NFKD 中文 NFKD NFKD->Uni 中文 utf8 中文 utf8 utf8->Any 中文 utf8->Blob 中文 Buf 中文 Buf Buf->Blob 中文

展开上面的图表