🍎
OOPでPPAP
オブジェクト指向(Ruby)でPPAPを表現してみました。
何をモデリングして、どこまで作り込むかを若干悩みました。30分程度のスコープでアウトプットするという目標でやりました。
#
# "PPAP (Pen-Pineapple-Apple-Pen)"
#
require './ppap'
# P-P-A-P
class PPAP
def sing
i = Human.new
# I have a pen, I have an apple
i.have Pen.new
i.have Apple.new
#
# Uh! Apple-Pen!
apple_pen = i.combine
# I have a pen, I have pineapple
i.have Pen.new
i.have Pineapple.new
# Uh! Pineapple-Pen!
pineapple_pen = i.combine
# Apple-Pen, Pineapple-Pen
# Uh! Pen-Pineapple-Apple-Pen
i.have apple_pen
i.have pineapple_pen
pen_pineapple_apple_pen = i.combine
# Pen-Pineapple-Apple-Pen
pen_pineapple_apple_pen
end
end
テスト付き
class TestPPAP < Minitest::Test
def test_ppap
assert_instance_of PenPinappleApplePen, PPAP.new.sing
end
end
ソースコード
Discussion