Итак, я только начинаю изучать The Pragmatic Bookself, "Programming Ruby 1.9 ( 3-е издание)", и я наткнулся на код, который мне нужно немного пояснить.
Если у вас есть книга, она находится в главе 3 «Классы, объекты и переменные», особенно в разделе о виртуальных атрибутах.
По сути, класс определяется с помощью инициализатора, который устанавливает пару переменных экземпляра, одна из которых — @price
. Эта переменная имеет аксессор/мутатор, созданный с помощью attr_accessor, например:
attr_accessor :price
Этот класс также имеет виртуальный атрибут с именем price_in_cents
, который просто возвращает значение из этой строки:
Integer(price*100 + 0.5)
Теперь мой вопрос: почему price
в виртуальном атрибуте не имеет префикса @
? Это явно имеет дело с переменной экземпляра. Выполнение кода без @
работает так же, как и с; это почему?
P.S. Извините, что не публикую код оптом — учитывая, что это вопрос о коде в книге, я не был уверен, какое законное право я имел бы на публикацию.