Programación en Ruby/Operadores con asociatividad y precedencia
Tabla de operadores con precedencia de más alta a más baja
Método* | Operador | Descripción |
---|---|---|
SI | [ ] [ ]= | |
SI | ** | Exponente |
SI | ! ~ + - | Not, complemento, más y menos unarios |
SI | * / % | Multiplicación, división, módulo |
SI | ||
Más, menos | ||
SI | >> << | Shift a la derecha e izquierda |
SI | & | Bitwise And |
SI | Bitwise Or y Or regular | |
SI | <= < > >= | Operadores de comparación |
SI | <=> == === != =~ !~ | Operadores de igualdad y coincidencia de patrones |
&& | And lógico | |
ll | Or lógico | |
.. ... | Rango incluyente y excluyente | |
? : | If-then-else ternario | |
= %= ~= /= =
+= |= &= >>= <<= *= &&= ||= **= |
Asignación | |
defined? | Revisar si un símbolo está definido | |
not | Negación lógica | |
or and | Composición lógica | |
If unless while until | Modificadores de expresión | |
begin end | Expresiones de bloque |
- Operadores marcados con “SI” pueden tratarse como métodos, y por lo tanto se pueden sobreescribir.
Ruby soporta hacer corto circuito en los operadores de comparación.