나는 Pragmatic Programmers 'Programming Ruby'서적을 통해 일해 왔으며 인스턴스 변수에 직접 할당하는 것이 아니라 클래스 내에서 setter 메소드를 호출 할 수 있는지 궁금해하고있었습니다.Ruby - 객체 내에서 setter 호출하기
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 setter에서 가격 설정기를 호출 할 수 있다면 가격이 양수가 될 수 있도록 여분의 코드를 작성해야한다는 것입니다. 사전
. 그냥 시도 해 봐. 루비에서는 놀랍게도 다른 메소드 안에 메소드를 정의 할 수도 있습니다 :-) –