«В ruby все является объектом» в основном верно.
Но, точнее, я бы сказал, что любое значение, которое может быть присвоено переменной или возвращено из метода, является объектом.Является ли переменная объектом?На самом деле, нет.Переменная - это просто имя объекта (также известного как «указатель»), которое позволяет вам найти его в памяти и что-то с ним делать.
shajin = Person.new()
В этом фрагменте у нас есть переменная shajin
, который указывает на объект (экземпляр класса person).Переменная - это просто идентификатор объекта, но не сам объект.
Я думаю, что это был хитрый вопрос.В конечном счете объектная ориентация - это особенность, позволяющая людям понимать сложные программы, но компьютеры сами по себе не являются объектно-ориентированными.Разверните достаточно слоев, и объекты перестанут существовать на любом языке.
Так что, возможно, будет более справедливо сказать: «В ruby все важное является объектом».