透明な構造体で表現を保持する方法が気に入っています。
(struct posn (x y)
#:transparent)
> (posn 1 2)
(posn 1 2)
しかし、それをカスタマイズする方法はありますか?Pythonのように?
透明な構造体で表現を保持する方法が気に入っています。
(struct posn (x y)
#:transparent)
> (posn 1 2)
(posn 1 2)
しかし、それをカスタマイズする方法はありますか?Pythonのように?
ここprop:custom-write
でプロパティをチェックしてください。簡単な実装を次に示します。
(struct pr (x y)
#:transparent
#:property prop:custom-write (λ (v p w?)
(fprintf p "<~a,~a>" (pr-x v) (pr-y v))))
> (pr 1 2)
<1,2>
これは非#:transparent
構造体でも機能することに注意してください。