From: "alexeymuranov (Alexey Muranov)" Date: 2012-11-12T17:56:47+09:00 Subject: [ruby-core:49251] [ruby-trunk - Feature #7328] Move ** operator precedence under unary + and - Issue #7328 has been updated by alexeymuranov (Alexey Muranov). Since #7331 is rejected, i do not think anymore it is nonsense to treat unary `-` specially and give it the highest precedence. Otherwise 1. it is stuck between `*` and `**` 2. even with respect to `**` its behavior is not consistent: the expression `-2 ** -2` does not raise an error, but evaluates to (-1/4). ---------------------------------------- Feature #7328: Move ** operator precedence under unary + and - https://bugs.ruby-lang.org/issues/7328#change-32812 Author: boris_stitnicky (Boris Stitnicky) Status: Rejected Priority: Normal Assignee: Category: Target version: I would like to ask to consider decreasing ** operator precedence just below that of -/+ unary operators. I know that other languages (eg. Python) have ** operator bind tighter than negation, but seeing -1 ** 0.5 give the result -1 and having to type parenthesis (-1) ** 0.5... Even if it's not worth changing, I'd like to hear this rationalized. I've asked about rationalization of this on SO, and nobody seems to know why this precedence is the way it is. -- http://bugs.ruby-lang.org/