Я новичок в Ruby и изучаю его, используя "Программирование на Ruby 1.9" (PickAxe). В книге я вижу программу, которую я изменил так:
1 #!/usr/bin/env ruby -w
2
3 class BookInStock
4 attr_reader :isbn
5 attr_accessor :price
6 def initialize(isbn, price)
7 @isbn = isbn
8 @price = Float(price)
9 end
10 # def price=(price)
11 # @price = Float(price)
12 # end
13 end
14
15 b1 = BookInStock.new("isbn1", 3)
16 p b1
17 b2 = BookInStock.new("isbn2", 3.14)
18 p b2
19 b3 = BookInStock.new("isbn3", "5.67")
20 p b3
21 b3.price = "10.32"
22 p b3
Строка № 8 гарантирует, что правильное значение присвоено b3.price
.
Но как мне обрабатывать случаи, такие как строка 21, без использования метода, как в строке 10-12?
Есть ли способ, которым я могу изменить attr_accessor
для этого? Или я слишком многого прошу: D
Я не смог найти таких ссылок в Интернете.