From: "alexeymuranov (Alexey Muranov)" Date: 2012-11-11T18:38:48+09:00 Subject: [ruby-core:49217] [ruby-trunk - Feature #7328] Move ** operator precedence under unary + and - Issue #7328 has been updated by alexeymuranov (Alexey Muranov). I have not still figured out how exactly this mailing issue tracker works, i have not managed to configure it to receive email notifications, and it seems that if i edit my comment the edited version is not what the others reply to, so i will post again the second part of my comment: I agree that from pragmatic point of view it may be better for (-1)**0.5 to return i than nothing, but then i would prefer it written clearly as (-1) ** 0.5. In mathematics you would put parentheses in (-a)^n. I think that unary +/- have the same precedence as binary, at least in mathematics. I am -1 for the change. ---------------------------------------- Feature #7328: Move ** operator precedence under unary + and - https://bugs.ruby-lang.org/issues/7328#change-32773 Author: boris_stitnicky (Boris Stitnicky) Status: Open 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/