Modified:
docs/Perl6/Spec/S32-setting-library/Str.pod
Log:
[S32/Str] Added Int variants to index/rindex/substr
There has to be a way to send in an Int to these Str methods. Arguably,
StrPos and StrLen are not Ints -- that's their point. Also, removed
optionality from the $end param in substr, because IMO that would lead
to MMD ties when no third argument is provided.
Modified: docs/Perl6/Spec/S32-setting-library/Str.pod
===================================================================
--- docs/Perl6/Spec/S32-setting-library/Str.pod 2009-06-23 05:57:28 UTC (rev 27181)
+++ docs/Perl6/Spec/S32-setting-library/Str.pod 2009-06-23 11:57:17 UTC (rev 27182)
@@ -246,9 +246,11 @@
=item index
our StrPos multi method index( Str $string: Str $substring, StrPos $pos = StrPos(0) ) is export
+ our StrPos multi method index( Str $string: Str $substring, Int $pos ) is export
C<index> searches for the first occurrence of C<$substring> in C<$string>,
-starting at C<$pos>.
+starting at C<$pos>. If $pos is an C<Int>, it is taken to be in the units
+of the calling scope, which defaults to "graphemes".
The value returned is always a C<StrPos> object. If the substring
is found, then the C<StrPos> represents the position of the first
@@ -322,6 +324,7 @@
X<rindex>
our StrPos multi method rindex( Str $string: Str $substring, StrPos $pos? ) is export
+ our StrPos multi method rindex( Str $string: Str $substring, Int $pos ) is export
Returns the position of the last C<$substring> in C<$string>. If C<$pos>
is specified, then the search starts at that location in C<$string>, and
@@ -521,8 +524,11 @@
=item substr
our Str multi method substr (Str $string: StrPos $start, StrLen $length?) is rw is export
- our Str multi method substr (Str $string: StrPos $start, StrPos $end?) is rw is export
+ our Str multi method substr (Str $string: StrPos $start, StrPos $end) is rw is export
our Str multi method substr (Str $string: StrPos $start, Int $length) is rw is export
+ our Str multi method substr (Str $string: Int $start, StrLen $length?) is rw is export
+ our Str multi method substr (Str $string: Int $start, StrPos $end) is rw is export
+ our Str multi method substr (Str $string: Int $start, Int $length) is rw is export
C<substr> returns part of an existing string. You control what part by
passing a starting position and optionally either an end position or length.