lcd wrote:
> On 14 February 2014, LCD 47 <[email protected]> wrote:
> > On 13 February 2014, Bram Moolenaar <[email protected]> wrote:
> > >
> > > lcd wrote:
> > >
> > > > There is an asymmetry in handling indices for lists and strings.
> > > > Lists accept things like lst[n], lst[n1:n2], lst[n1:-n2], and lst[-n].
> > > > Strings accept str[n], str[n1:n2], str[n1:-n2] (all with the same
> > > > meanings as the corresponding operations for lists), but not str[-n].
> > > > Negative indices in strings always return '', which is frustrating. :)
> > > >
> > > > The patch below makes negative indices behave the same way for
> > > > string as they do for lists (but they don't rise exceptions when out of
> > > > range):
> > > >
> > > > :let a = '12345'
> > > > :echo a[-1]
> > > > 5
> > > > :echo string(a[-6])
> > > > ''
> > > >
> > > > Negative indices for strings never did anything useful (at least as
> > > > far as I can tell), so this is unlikely to break existing code.
> > >
> > > I suppose that would be OK, and useful, to add.
> > >
> > > Can you also add a test?
> >
> > Sure, attached below.
>
> Hmm, I just found this note in the manual (:help expr-[]):
>
> A negative index always results in an empty string (reason: backwards
> compatibility). Use [-1:] to get the last byte.
>
> I suppose something like a[-3:-3] can be used instead of a[-3],
> but...
I forgot the backwards compatibility problem. Probably it's about
calculating the index and it going negative unintentionally.
--
Apologies for taking up the bandwidth with the apology. Anything else I
can apologise for ...... er no can't think of anything, sorry about that.
Andy Hunt (Member of British Olympic Apology Squad)
/// Bram Moolenaar -- [email protected] -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ an exciting new programming language -- http://www.Zimbu.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
--
--
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php
---
You received this message because you are subscribed to the Google Groups
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.