groovy-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Paul King <pa...@asert.com.au>
Subject Re: precedence rules for power operator vs -, +, ++, --
Date Sun, 07 Jun 2015 14:25:34 GMT

OK, looks like there is precedence in both directions:

http://en.wikipedia.org/wiki/Order_of_operations#Exceptions


On 7/06/2015 11:48 PM, Jochen Theodorou wrote:
> "-8 - 1"
>
> is in all languages I tests -9. That means Pyhton, Lua, Java, Ruby, QBasic, Javascript,
Go. And that in general independent of spacing.
>
> bye blackdrag
>
> Am 07.06.2015 13:50, schrieb Paul King:
>>
>> What do lua/python/ruby return for "-8 - 1"?
>>
>> On 7/06/2015 8:40 PM, Jochen Theodorou wrote:
>>> Am 06.06.2015 13:08, schrieb Paul King:
>>> [...]
>>>> def x = 5
>>>> assert -x ** 2 == -25  // treated as -(x ** 2)
>>>> assert --x ** 2 == 24  // treated as --(x ** 2)
>>>>
>>>> This behavior is different to the other operators and different to what
>>>> the comments in the grammar describe as the intended behavior but the
>>>> order of two rules was presumably accidentally reversed in the grammar.
>>>>
>>>> After the change, the following executes:
>>>>
>>>> def x = 5
>>>> assert -x ** 2 == 25   // treated as (-x) ** 2
>>>> assert --x ** 2 == 16  // treated as (--x) ** 2
>>>
>>> I just checked Ruby and Python and there -2**4 will return -16, same
>>> for -2^4 in Lua. So now I am wondering if that is the right thing for
>>> unary minus
>>>
>>> bye blackdrag
>>>
>>
>>
>> ---
>> This email has been checked for viruses by Avast antivirus software.
>> https://www.avast.com/antivirus
>>
>
>


---
This email has been checked for viruses by Avast antivirus software.
https://www.avast.com/antivirus


Mime
View raw message