On 23/06/08 19:37, Andy Armstrong wrote: > On 23 Jun 2008, at 18:34, Gautam Iyer wrote: >>> Doesn't that allow '+-3' ? >> This seems to go unnoticed in some other languages too (e.g. Python). > > > I assume that's because they support unary '+' as an operator. It's > not part of the numeric constant: > > >>> print +(1+2) > 3 > >>> print ++++++(1+2) > 3 > >>> print ---1 > -1 >
Vim supports both + and - as unary operators, but apparently it supports -3 but not +3 as a single numeric token. (Where an expression is expected, +3 is accepted as the operator + acting on the number 3.) For instance: :echo str2nr('-3') -3 :echo str2nr('+3') 0 :echo str2nr('--3') 0 :echo eval('-3') -3 :echo eval('+3') 3 :echo eval('--3') 3 The difference is that str2nr() expects the string-form of a Number, eval() expects the string-form of an expression. I suppose that now that we know it, we can live with it. Best regards, Tony. -- Baltimore, n.: Where the women wear turtleneck sweaters to hide their flea collars. --~--~---------~--~----~------------~-------~--~----~ You received this message from the "vim_dev" maillist. For more information, visit http://www.vim.org/maillist.php -~----------~----~----~----~------~----~------~--~---