Programación en Ruby/Operadores con asociatividad y precedencia
Apariencia
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.