class BookInStock
def initialize(isbn,price)
@isbn = isbn
@price = Float(price)
end
end
def to_s
#"ISBN: #{@isbn}, price: #{@price}"
end
b1 = BookInStock.new("isbn1", 3)
puts b1
b2 = BookInStock.new("isbn2", 3.14)
puts b2
b3 = BookInStock.new("isbn3", 5.67)
puts b3
Run Code Online (Sandbox Code Playgroud)
def to_s不能做,我可以做以下吗?
b1 = BookInStock.new("isbn1", 3)
puts "#{isbn}, #{price}"
Run Code Online (Sandbox Code Playgroud)
作为回应我感到空白.
通常你会公开这样的属性:
class BookInStock
attr_reader :isbn
attr_reader :price
end
Run Code Online (Sandbox Code Playgroud)
然后你可以这样做:
puts "#{b1.isbn}, #{b1.price}"
Run Code Online (Sandbox Code Playgroud)
或者给出你如何使用浮点数:
puts "%s %.2f" % [ b1.isbn, b1.price ]
Run Code Online (Sandbox Code Playgroud)