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.