読者です 読者をやめる 読者になる 読者になる

どせいたんさき。

ナスダヨー

PostScript で FizzBuzz 問題を解く

概要

ひょんな事で PostScript の文法を学んだので FizzBuzz 問題を解いてみた.

コード

%!PS-Adobe-3.0
% fizzbuzz 問題を PostScript でやるプログラム
/fizzbuzz {
    1 dict begin
    1 1 100 {
	/n exch def
	n 3 mod 0 eq {(Fizz) print} if
	n 5 mod 0 eq {(Buzz) print} if
	n 3 mod 0 ne n 5 mod 0 ne and {n =string cvs print} if
	(\n) print
    } for
    end
} def
fizzbuzz

整数(数値オブジェクト)を文字列に変換するいいやり方が思いつかなかったのでここで紹介されていた "the truly lazy hacker" 向けの方法を使ってみた.=string というのは === が使用している文字列バッファのことらしい.それを強引に拝借して使ってしまおうというわけ.

実行方法

gs -q -dBATCH fizzbuzz.ps

オプションの -dBATCH を入れるとコードを実行したあと自動的に終了する.