PPAPのインターフェース-Rubyの場合-
PPAP(ロングバージョン)をRubyで表すと、どうなるか考えてみた。
# Pen-Pineapple-Apple-Pen piko = PikoTaro.new piko.push(Pen.new) piko.have?(:pen) # => true piko.push(Apple.new) piko.have?(:apple) # => true ap = piko.pull ap.done! # => "Apple Pen !" piko.push(Pen.new) piko.push(Pineapple.new) pp = piko.pull pp.done! # => "Pineapple Pen !" piko.push(ap) piko.push(pp) ppap = piko.pull ppap.done! # => "Pen-Pineapple-Apple-Pen !" piko.push(Pen.new) piko.push(Pen.new) l_pen = piko.pull l_pen.done! # => "Long pen !" piko.push(Apple.new) piko.push(Pineapple.new) app = piko.pull app.done! # => "Apple-Pineapple !" piko.push(l_pen) piko.push(app) ppap = piko.pull ppap.done! # => "Pen-Pineapple-Apple-Pen !"