From: "nobu (Nobuyoshi Nakada)" Date: 2012-11-20T10:40:51+09:00 Subject: [ruby-core:49629] [ruby-trunk - Bug #7331] Set the precedence of unary `-` equal to the precedence `-`, same for `+` Issue #7331 has been updated by nobu (Nobuyoshi Nakada). Possibly, emitting a warning against the visual mismatch? https://github.com/nobu/ruby/compare/warn_unary_space ---------------------------------------- Bug #7331: Set the precedence of unary `-` equal to the precedence `-`, same for `+` https://bugs.ruby-lang.org/issues/7331#change-33143 Author: alexeymuranov (Alexey Muranov) Status: Rejected Priority: Normal Assignee: Category: core Target version: ruby -v: 1.9.3 =begin I will not be surprised if this proposal is rejected, because the compatibility would be a mess, but i feel i need to start a discussion. This continues the discussion in #7328. To the best of my knowledge, in mathematics the unary minus has the same precedence as the binary one. However, in the expression - a * b Ruby computes first (({-a})), and then the product. This means that if i want (for whatever reason) to compute the expression in the natural order, i have to put the parentheses: - (a * b) which looks very strange to me. I would consider this a bug. =end -- http://bugs.ruby-lang.org/