商品注文システムを作成したく、下記のように記述しましたが、動作がうまくいかず詰まっています。
他にも別の記述方法があるかもしれませんが、下記のように記述した場合の修正方法を教えてください。
【やりたいこと】
下記の実行結果を表示したい
買い物かごに入っている商品は全部で 2 個です 金額は合計 1700 円です
【記述したコード】
class Product attr_accessor :name, :price def initialize(name, price) @name = name @price = price end end class Book < Product attr_accessor :author, :publisher, :page_count def initialize(name, price) self.author = author self.publisher = publisher self.page_count = page_count end def info return "#{self.name} #{self.price}円", "#{self.author}", "#{self.publisher}", "#{self.page_count}" end end class CD < Product attr_accessor :artist, :year, :songs def initialize(name, price ) self.artist = artist self.year = year self.songs = songs end def info return "#{self.name} #{self.price}円", "#{self.artist}", "#{self.year}", "#{self.song}" end end class ShoppingCart attr_accessor :count, :total_price def initialize self.count = 0 self.total_price = 0 end def add_product(product) self.count += 1 self.total_price += @price.to_i end end book1 = Book.new('吾輩は猫である', 500) book1.author = '夏目漱石' book1.publisher = 'Vitalize出版' book1.page_count = 400 cd1 = CD.new('SMAP', 1200) cd1.artist = 'スマップ' cd1.year = 2018 cd1.songs = ["青い稲妻", "世界に一つだけの花", "オレンジ"] cart = ShoppingCart.new cart.add_product(book1) cart.add_product(cd1) puts "買い物かごに入っている商品は全部で #{cart.count} 個です" puts "金額は合計 #{cart.total_price} 円です"
【問題と思われる箇所】
下記のように記述したのですが、
合計金額を表示するためのtotal_priceにproduct情報が入れられていないことが原因だと思いますが、記述方法がわからず困っています。
def add_product(product) self.count += 1 self.total_price += @price.to_i end
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。