Zsh Mailing List Archive
Messages sorted by:
Reverse Date,
Date,
Thread,
Author
Re: wrong array range with (r) flag on scalar?
On Thu, Mar 05, 2015 at 05:06:38PM +0000, Peter Stephenson wrote:
> couldn't resist rubbing it in at the end :-)
>
> pws
>
>
> diff --git a/Doc/Zsh/params.yo b/Doc/Zsh/params.yo
> index d044f87..7b127bc 100644
> --- a/Doc/Zsh/params.yo
> +++ b/Doc/Zsh/params.yo
> @@ -187,7 +187,17 @@ from the end of the array tt(foo), and
> Subscripting may also be performed on non-array values, in which
> case the subscripts specify a substring to be extracted.
> For example, if tt(FOO) is set to `tt(foobar)', then
> -`tt(echo $FOO[2,5])' prints `tt(ooba)'.
> +`tt(echo $FOO[2,5])' prints `tt(ooba)'. Note that
> +some forms of subscripting described below perform pattern matching,
> +and in that case the substring extends from the start of the match
> +of the first subscript to the end of the match of the second
> +subscript. For example,
> +
> +example(string="abcdefghijklm"
> +print ${string[+LPAR()r+RPAR()d?,+LPAR()r+RPAR()h?]})
> +
> +prints `tt(defghi)'. This is an obvious generalisation of the
> +rule for single-character matches.
>
> subsect(Array Element Assignment)
>
Looks like this is also the case for (i):
localhost% foo=abcdefgh
localhost% print $foo[(r)ab,(i)fg]
abcdefg
localhost%
Though
localhost% print $foo[(i)fg]
6
localhost%
But according to the new contents of manual, this is the same case as
"(r)fg".
Thanks.
Messages sorted by:
Reverse Date,
Date,
Thread,
Author