Created
August 16, 2019 22:27
-
-
Save shreeve/8d75d453bcc2b00c437f91c77d939712 to your computer and use it in GitHub Desktop.
Ruby Precedence
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
N A M Operator(s) Description | |
- - - ----------- ----------- | |
1 R Y ! ~ + boolean NOT, bitwise complement, unary plus | |
(unary plus may be redefined from Ruby 1.9 with +@) | |
2 R Y ** exponentiation | |
1 R Y - unary minus (redefine with -@) | |
2 L Y * / % multiplication, division, modulo (remainder) | |
2 L Y + - addition (or concatenation), subtraction | |
2 L Y << >> bitwise shift-left (or append), bitwise shift-right | |
2 L Y & bitwise AND | |
2 L Y | ^ bitwise OR, bitwise XOR (exclusive OR) | |
2 L Y < <= >= > ordering | |
2 N Y == === != =~ !~ <=> equality, pattern matching, comparison | |
(!= and !~ may not be redefined prior to Ruby 1.9) | |
2 L N && boolean AND | |
2 L N || boolean OR | |
2 N N .. ... range creation (inclusive and exclusive) | |
and boolean flip-flops | |
3 R N ? : ternary if-then-else (conditional) | |
2 L N rescue exception-handling modifier | |
2 R N = assignment | |
2 R N **= *= /= %= += -= assignment | |
2 R N <<= >>= assignment | |
2 R N &&= &= ||= |= ^= assignment | |
1 N N defined? test variable definition and type | |
1 R N not boolean NOT (low precedence) | |
2 L N and or boolean AND, boolean OR (low precedence) | |
2 N N if unless while until conditional and loop modifiers |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment