在 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»