Деякі об'єкти в Ruby зберігаються в змінних як безпосередні значення. До них відносяться цілі числа, символи (які виглядають так: це) та спеціальні об'єкти true, false та nil. Коли ви присвоюєте одне з цих значень змінній (x = 1), змінна містить саме значення, а не посилання на нього. На практиці це не має значення (і це часто залишатиметься як мається на увазі, а не повторюється в обговоренні посилань та суміжних тем у цій книзі). Ruby обробляє перенаправлення посилань на об'єкти автоматично; не потрібно робити зайвих робіт, щоб надсилати повідомлення об’єкту, який містить, скажімо, посилання на рядок, на відміну від об'єкта, який містить безпосереднє ціле значення. Але правило представлення негайних цінностей має кілька цікавих наслідків, особливо якщо мова йде про цілі числа. З одного боку, будь-який об'єкт, який представляється як безпосереднє значення, завжди є точно тим самим об'єктом, незалежно від того, скільки змінних йому призначено. Є лише один об'єкт 100, лише один об'єкт помилковий тощо. Безпосередня, унікальна природа цілочисленних змінних полягає в тому, що Рубі не вистачає операторів до і після збільшення, тобто, в Ruby цього не можна робити: x = 1 x ++ # Немає такого оператора. Причина тому до негайної присутності 1 в x, x ++ було б як 1 ++, це означає, що ви будете змінювати число 1 на число 2 - і це не має сенсу. незалежно від того, скільки змінних йому призначено. Є лише один об'єкт 100, лише один об'єкт помилковий тощо. Безпосередня, унікальна природа цілочисленних змінних полягає в тому, що Рубі не вистачає операторів до і після збільшення, тобто, в Ruby цього не можна робити: x = 1 x ++ # Немає такого оператора. Причина тому до негайної присутності 1 в x, x ++ було б як 1 ++, це означає, що ви змінили б число 1 на число 2 - і це не має сенсу. незалежно від того, скільки змінних йому призначено. Є лише один об'єкт 100, лише один об'єкт помилковий тощо. Безпосередня, унікальна природа цілочисленних змінних полягає в тому, що Рубі не вистачає операторів до і після збільшення, тобто, в Ruby цього не можна робити: x = 1 x ++ # Немає такого оператора. Причина тому до негайної присутності 1 в x, x ++ було б як 1 ++, це означає, що ви змінили б число 1 на число 2 - і це не має сенсу.