Algunos objetos en Ruby se almacenan en variables como valores inmediatos. Estos incluyen enteros, símbolos (que se parecen a esto) y los objetos especiales verdadero, falso y nulo. Cuando asigna uno de estos valores a una variable (x = 1), la variable contiene el valor en sí mismo, en lugar de una referencia a él. En términos prácticos, esto no importa (y a menudo se dejará como implícito, en lugar de explicarse repetidamente, en las discusiones de referencias y temas relacionados en este libro). Ruby maneja la desreferenciación de referencias de objeto automáticamente; no tiene que hacer ningún trabajo adicional para enviar un mensaje a un objeto que contiene, por ejemplo, una referencia a una cadena, en lugar de un objeto que contiene un valor entero inmediato. Pero la regla de representación de valor inmediato tiene un par de ramificaciones interesantes, especialmente cuando se trata de enteros. Por un lado, cualquier objeto que se represente como un valor inmediato siempre es exactamente el mismo objeto, sin importar a cuántas variables esté asignado. Solo hay un objeto 100, solo un objeto falso, y así sucesivamente. La naturaleza única e inmediata de las variables unidas a enteros está detrás de la falta de operadores de pre y post incremento de Ruby, es decir, no se puede hacer esto en Ruby: x = 1 x ++ # No existe dicho operador. a la presencia inmediata de 1 en x, x ++ sería como 1 ++, lo que significa que estaría cambiando el número 1 al número 2, y eso no tiene sentido. no importa a cuántas variables se le asigne. Solo hay un objeto 100, solo un objeto falso, y así sucesivamente. La naturaleza única e inmediata de las variables unidas a enteros está detrás de la falta de operadores de pre y post incremento de Ruby, es decir, no se puede hacer esto en Ruby: x = 1 x ++ # No existe dicho operador. a la presencia inmediata de 1 en x, x ++ sería como 1 ++, lo que significa que estaría cambiando el número 1 al número 2, y eso no tiene sentido. no importa a cuántas variables se le asigne. Solo hay un objeto 100, solo un objeto falso, y así sucesivamente. La naturaleza única e inmediata de las variables unidas a enteros está detrás de la falta de operadores de pre y post incremento de Ruby, es decir, no se puede hacer esto en Ruby: x = 1 x ++ # No existe dicho operador. a la presencia inmediata de 1 en x, x ++ sería como 1 ++, lo que significa que estaría cambiando el número 1 al número 2, y eso no tiene sentido.