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
[ツッコミを入れる]