Ruby Programming Techniques: простая, но не очень простая манипуляция объектами

Я хочу создать объект, скажем, пирог.

class Pie 
  def initialize(name, flavor) 
    @name = name 
    @flavor = flavor 
  end 
end

Но пирог можно разделить на 8 частей, половину или просто целый пирог. Ради аргумента, я хотел бы знать, как я мог бы дать каждому объекту Pie цену за 1/8, 1/4 или за целое. Я мог бы сделать это, выполнив:

class Pie 
  def initialize(name, flavor, price_all, price_half, price_piece) 
    @name = name 
    @flavor = flavor 
    @price_all = price_all
    @price_half = price_half
    @price_piece = price_piece
  end 
end 

Но теперь, если бы я создал пятнадцать объектов Pie, и я бы где-нибудь случайно вынул несколько частей, используя такой метод, как

getPieceOfPie(pie_name)

Как я смогу сгенерировать стоимость всех доступных пирогов, которые являются целыми, и оставшиеся кусочки? В конце концов, используя такой метод, как:

   myCurrentInventoryHas(pie_name)
   # output: 2 whole strawberry pies and 7 pieces.

Я знаю, я Руби нуби. Спасибо за ваши ответы, комментарии и помощь!

Ответы на вопрос(4)

Ваш ответ на вопрос