私はクラスストアを持っていますが、各ストアには異なる製品のハッシュがあり、各製品にはさまざまな種類の販売があります。私は価格で、私の製品を並べ替える方法をしたいクラスストアにRuby sort_by of Objects/Classes未定義のメソッド 'sort_by'の場合
product1 = Product.new("shirt1")
product1.add_sell_option(SellOption.new("S", 12, 10))
product1.add_sell_option(SellOption.new("M", 15, 10))
product1.add_sell_option(SellOption.new("L", 14, 10))
product2 = Product.new("shirt2")
product2.add_sell_option(SellOption.new("M", 6, 10))
product2.add_sell_option(SellOption.new("L", 7, 10))
product3 = Product.new("shirt2")
product3.add_sell_option(SellOption.new("M", 10, 10))
product3.add_sell_option(SellOption.new("L", 11, 10))
store = Store.new
store.add(product1)
store.add(product2)
store.add(product3)
:このデータでは
class Store
def initialize
@store_products = Hash.new
#@store_products['product_id'] = Product
end
end
class Product < Store
def initialize(model)
@model = model
@sell_option = Hash.new
#@sell_option['sell_name'] = SellOption
end
end
class SellOption < Product
def initialize(size, price, stock)
@size = size
@price = price
@stock = stock
end
end
。 使用している場合、この式:
puts store.products_sorted_by_price
def products_sorted_by_price
@store_products.each_value do |product|
product.sort_by{|k, v| v.value.price}
end
end
それが返すのはなぜ "製品のために未定義のメソッド 'sort_by' に..." !!
継承;私にはもっと必要な方法があるからです。 異なる価格から、私は最小価格を選択する方法があります。 私のエラーは、私が製品に注文を適用するのではなく、そのうちの1つにしか適用しないということでした。 – Rat