2009-05-05 :-)
_ 朝ッ
0600 起床
_ チャリった
朝はすいておる
_ [M3]M3 行ってきた
都合により開場直後に行って霜月はるか( Maple Leaf )に挨拶しようとしていたんだが人が多すぎてサークルブースに近寄れないし流された。むしろこの様子ではチンタラと会話してる場合じゃなさそうだ。今度は午後に行くとしよう。ミッションインコンプリート
2 枚だけ購入

_ [Decorator][デザインパターン]Head First デザインパターンを写経する - 3章 Decorator パターン
Mix-in の使いどころがいまいち理解できてない。
#!/usr/bin/ruby -Ks
class Beverage
  @description = "不明な飲み物"
  def getDescription
    @description;
  end
  def cost
  end
end
class CondimentDecorator < Beverage
  def getDescription
  end
end
class Espresso < Beverage
  def initialize
    @description = "エスプレッソ"
  end
  def cost
    1.99
  end
end
class HouseBlend < Beverage
  def initialize
    @description = "ハウスブレンド"
  end
  def cost
    0.89
  end
end
class DarkRoast < Beverage
  def initialize
    @description = "ダークロースト"
  end
  def cost
    0.99
  end
end
class Decaf < Beverage
  def initialize
    @description = "カフェイン抜き"
  end
  def cost
    1.05
  end
end
class Mocha < CondimentDecorator
  @beverage
  def initialize( b )
    @beverage = b
  end
  def getDescription
    @beverage.getDescription + "、モカ"
  end
  def cost
    0.20 + @beverage.cost
  end
end
class Whip < CondimentDecorator
  @beverage
  def initialize( b )
    @beverage = b
  end
  def getDescription
    @beverage.getDescription + "、ホイップ"
  end
  def cost
    0.10 + @beverage.cost
  end
end
class Soy < CondimentDecorator
  @beverage
  def initialize( b )
    @beverage = b
  end
  def getDescription
    @beverage.getDescription + "、豆乳"
  end
  def cost
    0.15 + @beverage.cost
  end
end
def main
  beverage = Espresso.new
  puts "#{beverage.getDescription} $#{beverage.cost}"
  beverage2 = DarkRoast.new
  beverage2 = Mocha.new( beverage2 )
  beverage2 = Mocha.new( beverage2 )
  beverage2 = Whip.new( beverage2 )
  puts "#{beverage2.getDescription} $#{beverage2.cost}"
  beverage3 = HouseBlend.new
  beverage3 = Soy.new( beverage3 )
  beverage3 = Mocha.new( beverage3 )
  beverage3 = Whip.new( beverage3 )
  puts "#{beverage3.getDescription} $#{beverage3.cost}"
end
main
% ./beverage.rb エスプレッソ $1.99 ダークロースト、モカ、モカ、ホイップ $1.49 ハウスブレンド、豆乳、モカ、ホイップ $1.34
4873112494
[ツッコミを入れる]








