5

Product クラスを使用して Ruby でプログラムを作成しています。Product が間違った型の引数で初期化されるたびに発生するいくつかの例外があります。発生した例外を DRY できる方法はありますか (それらを正しく参照していますか?) 助けていただきありがとうございます。コードは以下のとおりです。

class Product
  attr_accessor :quantity, :type, :price, :imported

  def initialize(quantity, type, price, imported)
    raise ArgumentError.new("Type must be a string") if type.class != String
    raise ArgumentError.new("Quantity must be greater than zero") if quantity <= 0
    raise ArgumentError.new("Price must be a float") if price.class != Float

    @quantity = quantity
    @type     = type
    @price    = price.round(2)
    @imported = imported
  end
end
4

3 に答える 3