汚れた、73 57 54バイト
⇖'le'⇗≐∀⭦)Ẃ'nar'⇗{=]}⭨'i'=]'woody'‼␛['tinny'‼␛('PVC'‼␛
オンラインでお試しください!
説明:
同様の古いバージョンの場合(ゴルフをやめるときに更新します)
␛‼'CVP'⇨⇖'leap'⇗≡⊭◌⬅Ẃ'nar'⇗{=]}1ẁ'i'=]'woody'‼␛['tinny'‼␛
この本体は次のもので構成されています。
⇖ put the input into the left stack
'leap' push the string "leap"
⇗ put that string into the right stack
≡ are the left and right stacks equal
⊭ logically negate
◌ skip next instruction if true
⬅ change direction to leftwards
最終的に左に行くと、次のようになります。
⇨⇖'leap'⇗≡⊭◌ does stuff to the stacks, but isn't relevant
'CVP' push the string "PVC" (reversed, because we're going left)
‼ print the string on the main stack
␛ exit the program (this should wrap into the other exit, but that isn't working yet)
それ以外の場合、これは文字列が「nar」のいずれかで始まるかどうかをチェックします。
Ẃ wipe the right stack
'nar' push the string "nar"
⇗ move string to right stack
{
= compare the top of the left and right stacks
] goto matching bracket if true
} consuming loop while the right stack is true
次に、2番目の文字が「i」であるかどうかを確認します。
1 push the number 1
ẁ drop ^ number of elements off of the left stack
'i' push "i"
= are the top of the left and middle stacks equal
] goto matching bracket if true
それらがすべて落ちたら、
'woody' push the string "woody"
‼ print the string on the main stack
␛ exit the program
ジャンプしてしまったら、
[ matching bracket for the goto
'tinny' push the string "tinny"
‼ print the string on the main stack
␛ exit the program