兼雑記を読んで何となく理解したつもりだけど、そうやってできたプログラムを任意の形に書き出すってのはスゴいな...しかもこのモジュール、オプションがやたら豊富でいろんなことができてしまう...!!基本の形(camelなど)は既に.eyeファイルに入っているし、上記のように自分で形を指定することもできる。上記の例はbannerコマンドを利用して任意のASCII文字の形に指定している。入っているようで、モジュールからの呼び出しはできないようなので自前でコマンド実行した結果をShapeStringに指定してみた。Rotateを指定することで向きを変えることまでできてしまう!一番の謎は「どうやってちょうど良く形通りに収まるように記号プログラムの長さを調節しているか」というところ。あと改行やスペースだって挟んでいい所とダメな所があるはずなので、そのあたりの調節もどうやっているのか、不思議だ。頑張ってAcme::EyeDropsのソースを読んでいるところ。ほとんどそのへんの処理はpour_sightlyの中でやっているようだ。