在 Cool 中§

请参阅主要文档 in context,了解例程 substr

sub substr(Str(Cool$str|c)
method substr(|c)

将调用者(或在子表单中,第一个参数)强制转换为 Str,并使用参数调用 Str.substr

在 Allomorph 中§

请参阅主要文档 in context,了解方法 substr

method substr(Allomorph:D: |c)

在调用者的 Str 值上调用 Str.substr

在 Str 中§

请参阅主要文档 in context,了解例程 substr

multi        substr(Str:D $s$from$chars?  --> Str:D)
multi        substr(Str:D $sRange  $from-to --> Str:D)
multi method substr(Str:D $s: $from$chars?  --> Str:D)
multi method substr(Str:D $s: Range $from-to  --> Str:D)

返回原始字符串的子字符串,介于 $from-to 端点(强制转换为 Int)指定的索引之间,或从索引 $from 开始,长度为 $chars

$from$chars 都可以指定为 Callable,它将使用原始字符串的 length 调用,并且返回值将用作参数的值。如果 $from$chars 不是 Callable,它们将被强制转换为 Int

如果省略 $chars 或其大于可用字符,则返回从 $from 到字符串末尾的字符串。如果 $from-to 的起始索引或 $from 小于零,则会引发 X::OutOfRange 异常。允许 $from-to 的结束索引超出字符串的末尾,在这种情况下,它将等效于最后一个字符的索引。

say substr("Long string"3..6);     # OUTPUT: «g st␤» 
say substr("Long string"63);     # OUTPUT: «tri␤» 
say substr("Long string"6);        # OUTPUT: «tring␤» 
say substr("Long string"6*-1);   # OUTPUT: «trin␤» 
say substr("Long string"*-3*-1); # OUTPUT: «in␤»