PostScript で条件分岐が複雑になるとネストが深くなって困る。
こんなのを考えてみた。
/cond{ 1 exch repeat exec }bind def /;{ exch{ exit }if pop }bind def
このように使う。
%!PS /max 100 def 1 { { dup max gt{ pop exit }; dup 15 mod 0 eq{ (FizzBuzz) = }; dup 5 mod 0 eq{ (Buzz) = }; dup 3 mod 0 eq{ (Fizz) = }; { dup = } }cond 1 add }loop
全ての条件が偽だった場合の処理は必ず書き、";" をつけない。