Lチカ開発ブログ

https://l-chika.com/の開発ブログ

PPAPのインターフェース-Rubyの場合-

PPAP(ロングバージョン)をRubyで表すと、どうなるか考えてみた。

www.youtube.com

# 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 !"