[::T = Mu]
支持使用 [ ]
后缀运算符(通常是类列表对象)对它们进行索引的对象的角色。具有 Positional 角色的示例类型包括 List
、Array
、Range
和 Buf
。
方法§
方法 of§
method of()
返回位置容器元素的类型约束,即上面定义中的 T
,如您所见,默认为 Mu
。它作为类型对象返回。
my ;say .of.^name; # OUTPUT: «Mumy 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, :)
仅当您希望支持
my is Foo = 1,2,3;
绑定 Positional
角色实现的语法时,才应提供此方法。
应接受用于(重新)初始化对象的值。当首次在对象上调用该方法时,可选的命名参数将包含一个 True
值。应返回调用者。
另请参阅§
有关可为 Positional
角色实现的其他方法的信息,请参阅 为位置下标实现的方法。