ゆの in PostScript

ゆの in Ruby - 冬通りに消え行く制服ガールは✖夢物語にリアルを求めない。 - subtech を起点に、色々なプログラミング言語で「ひだまりスケッチ365 来週も見てくださいね!」を凝ったやりかたで表示させるのが流行っているみたいなので、元ネタをよく知らないにも関わらず真似して PostScript でやってみる。

/X{
    true
    {
        (365)print
        currentfile 80 string readline pop
        1 1 index length 1 sub getinterval =
    }
    {(ひだまり)print}
    count{exch}repeat ifelse
}def
/{
    (スケッチ)print
}def
/_{
    cvx exec
}def

X / _ / X < 来週も見てくださいね!

コマンドはこんな感じで。

% gs -q -dNODISPLAY -dBATCH yuno.ps
ひだまりスケッチ365 来週も見てくださいね!

ちなみに X を以下のようにすると、ifelse を除けます。

/X{
    {
        (365)print
        currentfile 80 string readline pop
        1 1 index length 1 sub getinterval =
    }
    {(ひだまり)print}
    count{exch}repeat exec pop
}def

X を自己書き換えにしてみる。

/X{
    (ひだまり)print
    /X load
    dup 0 {
        (365)print
        currentfile 80 string readline pop
        1 1 index length 1 sub getinterval print
    } put
    1 /exec cvx put
} def