在 Cool 中§
请参阅主要文档 in context,了解例程 substr
sub substr(Str(Cool) , |c)method substr(|c)
将调用者(或在子表单中,第一个参数)强制转换为 Str,并使用参数调用 Str.substr。
在 Allomorph 中§
请参阅主要文档 in context,了解方法 substr
method substr(Allomorph: |c)
在调用者的 Str 值上调用 Str.substr。
在 Str 中§
请参阅主要文档 in context,了解例程 substr
multi substr(Str , , ? --> Str)multi substr(Str , Range --> Str)multi method substr(Str : , ? --> Str)multi method substr(Str : Range --> Str)
返回原始字符串的子字符串,介于 $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", 6, 3); # 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»