Ответ 1
self.attribute
вызывает метод attribute
. self.attribute = value
вызывает метод attribute=
с аргументом value
. @attribute
и @attribute = value
получить/установить значение переменной экземпляра @attribute
.
Итак, в основном это две совершенно разные вещи.
Однако, если вы вызываете attr_accessor :attribute
, он определяет метод attribute
для возврата @attribute
и метода attribute=(value)
для установки @attribute = value
. Поэтому в этом случае нет разницы.