From: FirstName Surname Date: 2013-02-06T05:17:20+09:00 Subject: using an instance variable inside a method 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. -- Posted via http://www.ruby-forum.com/.