calc_itemメソッドが250と返って来るようにしたかったのですが、0となってしまいます。
どうすれば良いでしょう?
class Customer def initialize(*name) p @name = name end end customer_1 = Customer.new('apple','orange') class Cash_register ITEM = { 'apple' => 150, 'orange' => 100 } def initialize(*names) @names = names end def calc_item @names.map { |n| ITEM[n] || 0 }.sum end def price puts "お値段は#{calc_item}円です。" end end cash_register = Cash_register.new(customer_1) cash_register.price
回答をいただき、変更したコードが以下になります。
class Cashier ITEM = { 'apple' => 150, 'orange' => 100 } def calc_item(ite) p ite.map { |i| ITEM[i] }.sum end end price = Cashier.new class Customer def initialize(*item) p @item = item end def basket(p) p.calc_item(@item) end end customer_1 = Customer.new('apple','orange') customer_1.basket(price)
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/03/29 15:23
2020/03/29 15:33 編集
2020/04/02 12:35
2020/04/02 12:42