黎明日記の中のひとにTiny-PSを添削してもらったお

トラバに気がついたのが21時。まだ英語の試験勉強が全然進んでいない。どうする俺、どうする?→迷うことなくソースの修正へ

http://d.hatena.ne.jp/scinfaxi/20070122/1169461899

  • tps->string から ps-stack->string がコールされてるけど tps-stack->string の typo でしょうか

その通り。psを途中からtpsに置き換え始めて途中で面倒になってやめたっていう。

  • make-tiny-post-script で明示的に eval を呼んでるのはなぜどうして

makeにoptions(リスト)を展開して渡したかった→applyでいいじゃまいか。make-vectorみたいに明示的な(make <ほげほげ>)は隠蔽したほうがいいのかな、と思ってmakeをラップしてみたけど、わざわざそんなことしなくてもいいのかな。

  • `(,|x| ,|y| "moveto") は `(,x ,y "moveto") じゃダメなんですか?

WiLiKiかなんかのソースで、束縛は||で囲んであったのでそれのマネ

  • の ps-creation-date の :init-form だけどこういう風に初期化した方が楽じゃないですか><
(let1 cd (current-date)
  (format #f "~a/~a/~a ~a:~a:~a"
	  (date-year cd)
	  (date-month cd)
	  (date-day cd)
	  (date-hour cd)
	  (date-minute cd)
	  (date-second cd)))
;; ex: "2007/1/22 19:19:39"

ゼロ補填でもいいならこういうのとか。

(date->string (current-date) "~Y/~m/~d ~X")
;; ex: "2007/01/22 19:20:31"

後者をそのままパクらせてもらいますた。let1とか初めて見た。マニュアルちゃんと嫁!っていう話ですね。

今から描写してみよう。

kghostview でやってみたけどなんかうまくいかない。うーむ。

\(バックスラッシュ)と/(スラッシュ)を間違えてた。。。修正版ではきっとうまくいくはず。

(use tiny-ps)
(define *ps* (make/tps))
(tps-set-bb! *ps* 0 0 200 200) ; バウンディングボックスを200*200に
(moveto *ps* 0 0)
(lines '((100 200) (200 0) (0 130) (200 130) (0 0)))
(display (tps->string *ps*))

とやると、不格好な星型を描くPSファイルが標準出力に出ますよ。きっと(自信がない)。

ソース tiny-ps.scm