diff options
author | drbrain <drbrain@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2013-01-15 04:33:28 +0000 |
---|---|---|
committer | drbrain <drbrain@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2013-01-15 04:33:28 +0000 |
commit | 68b072bfbabdcd78b4d7980c15ab83163ecbacd3 (patch) | |
tree | 3dfa99c599b64a1d73a54714fd5e38a62caa2989 /doc/syntax/precedence.rdoc | |
parent | 108f3acbe41ec2de5164109ee80377fe31951e08 (diff) |
* doc/syntax/methods.rdoc (Method Names): Added method names including
operator methods.
* doc/syntax/methods.rdoc (Return Values): Added note that assignment
methods ignore return values.
* doc/syntax/precedence.rdoc: Added document describing precedence.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38825 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'doc/syntax/precedence.rdoc')
-rw-r--r-- | doc/syntax/precedence.rdoc | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/doc/syntax/precedence.rdoc b/doc/syntax/precedence.rdoc new file mode 100644 index 0000000000..515626c74f --- /dev/null +++ b/doc/syntax/precedence.rdoc @@ -0,0 +1,60 @@ += Precedence + +From highest to lowest, this is the precedence table for ruby. High precedence +operations happen before low precedence operations. + + !, ~, unary + + + ** + + unary - + + *, /, % + + +, - + + <<, >> + + & + + |, ^ + + >, >=, <, <= + + <=>, ==, ===, !=, =~, !~ + + && + + || + + .., ... + + ?, : + + modifier-rescue + + =, +=, -=, etc. + + defined? + + not + + or, and + + modifier-if, modifier-unless, modifier-while, modifier-until + + { } blocks + +Unary <code>+</code> and unary <code>-</code> are for <code>+1</code>, +<code>-1</code> or <code>-(a + b)</code>. + +Modifier-if, modifier-unless, etc. are for the modifier versions of those +keywords. For example, this is a modifier-unless expression: + + a += 1 unless a.zero? + +<code>{ ... }</code> blocks have priority below all listed operations, but +<code>do ... end</code> blocks have lower priority. + +All other words in the precedence table above are keywords. + |