我是红宝石的新手,但尽我所能去掌握它。问题是...
定义一个 BookInStock 类,该类表示一本书,该书具有 isbn 数、isbn 和价格作为浮点数,价格作为属性。构造函数应该接受 ISBN 号(一个字符串)作为第一个参数和价格作为第二个参数,如果 ISBN 号是空字符串或者价格小于或等于零。
包括这些属性的正确 getter 和 setter。包括一个方法 price_as_string,它返回带有前导美元符号和尾随零的图书价格,即价格 20 应显示为“$20.00”,价格 33.8 应显示为“$33.80”。
我的代码:-
class BookInStock
#getters and setters
attr_reader :isbn, :price
def isbn= (isbn)
if isbn == ''
raise ArguementError.new("Must have an ISBN number")
end
@isbn = isbn
end
def price= (price)
price = price.to_f
if price <= 0
raise ArguementError.new("Must have price")
end
@price = price
end
def initialize(isbn, price)
self.isbn = @isbn
self.price = @price
end
def self.price_as_string
return "$" + sprinff("%.2f", @price)
end
end
但是,当我尝试时出现错误
BookInStock.new('',9.00)
我得到一个Uninitialized constant BookInStock::ArgumentError (NameError)
在对错误进行一些研究后,它说我可能指的是不存在的类或模块?请帮忙,谢谢