Ruby - вызов сеттера изнутри объекта [дубликат]
На этот вопрос уже есть ответ здесь:
Зачем нужны сеттеры Ruby?Я «. квалификация в классе? 3 ответамы работали через прагматичных программистовПрограммирование Ruby ' book и интересовался, можно ли вызвать метод установки в классе, а не просто назначить переменную экземпляра напрямую.
class BookInStock
attr_reader :isbn, :price
def initialize (isbn, price)
@isbn = isbn
@price = Float(price)
end
def price_in_cents
Integer(price*100 + 0.5)
end
def price_in_cents=(cents)
@price = cents/100.0
end
def price=(dollars)
price = dollars if dollars > 0
end
end
В этом случае я использую сеттер, чтобы убедиться, что цена можетбыть отрицательным. Что я хочу знать, так это то, можно ли вызвать установщик цен из установщика price_in_cents, чтобы мне не пришлось писать дополнительный код, чтобы убедиться, что цена будет положительной.
заранее спасибо