Hello.
I’m learning ruby 1.9 by reading the book “Programming Ruby 1.9
The Pragmatic Programmers’ Guide”
Actually i’m on the page 57 and i think something is wrong. Let’s show
the involved code :
#—
Excerpted from “Programming Ruby”,
published by The Pragmatic Bookshelf.
Copyrights apply to this code. It may not be used to create training
material,
courses, books, articles, and the like. Contact us if you are in
doubt.
We make no guarantees that this code is fit for any purpose.
Visit http://www.pragmaticprogrammer.com/titles/ruby3 for more book
information.
#—
class BookInStock
attr_reader :isbn
attr_accessor :price
def initialize(isbn, price)
@isbn = isbn
@price = Float(price)
end
def price_in_cents
Integer(price*100 + 0.5)
end
…
end
book = BookInStock.new(“isbn1”, 33.80)
puts “Price = #{book.price}”
puts “Price in cents = #{book.price_in_cents}”
About the method price_in_cents, i think it should be written like that
instead :
def price_in_cents
Integer(@price*100 + 0.5)
end
Simply because unless i’m really missing something, “price” is a class
attribute after all there, it seems that in this case the “@” is
implicit, but that doesn’t look the appropriate way to write it, right ?
Anyway i’ve tested with and without the “@”, the result is the same.
So is this a common practice in ruby or what ?
Thx for reading.