Я новичок в рубине, но стараюсь изо всех сил ее понять. Ques is ...Рубины; Ошибка: неинициализированная константа BookInStock :: ArguementError (NameError)
Определите класс BookInStock, который представляет книгу с номером isbn, isbn и стоимостью книги как число с плавающей запятой, цена, как атрибуты. Конструктор должен принять номер ISBN (строка) в качестве первого аргумента и цены как второй аргумент и должен поднять ArgumentError (один из встроенных типов исключений Ruby), если номер ISBN является пустой строкой или если цена меньше, чем или равна нулю.
Включите соответствующие геттеры и сеттеры для этих атрибутов. Включите метод 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)
После выполнения некоторых исследований по ошибке он говорит что я могу ссылаться на класс или модуль, которые не существуют? PLease help, thanks
Def инициализации (ISBN, цена) self.isbn = self.price ISBN = цена, которую я на самом деле это не то, что было напечатано выше – user2752770