gvprでシェルスクリプト代わり

思いました。
gvprプログラムに任せることでbashかcmdかなんてことはあまり気にしなくて済むではないか、と。
Graphvizで閉じる方針もここまでくるともう何だか無理矢理くさい。

gvpr "BEGIN{int i;for(i=0;i<4;i++)system(sprintf('gvpr -cf next_gen.g glider_%d.gv > glider_%d.gv',i,i+1));}"

このワンライナはcmdでもbashでも修正なしで動作する。
これで、前記事のようにシェルの機能を使って次世代グラフを一気に求める方法と同じことができる。
画像化についても上と同じ構造の以下のコマンドで行える。

gvpr "BEGIN{int i;for(i=0;i<=4;i++)system(sprintf('gvpr -c -f vis_alive.g glider_%d.gv | neato -Nlabel=\"\" -Nshape=box -Nwidth=.2 -Nheight=.2 -Ncolor=slategrey -Nfillcolor=blue -Estyle=invis -Elen=.3 -T png -o glider_%d.png',i,i));}"

変数 i の範囲が4未満か4以下かの違いくらいである。
gvprのsprintf関数は"%1$d"のような記述ができないようなので同じiを2回引数に与えている。