5

透明な構造体で表現を保持する方法が気に入っています。

(struct posn (x y)
        #:transparent)

> (posn 1 2)
(posn 1 2)

しかし、それをカスタマイズする方法はありますか?Pythonのように?

4

1 に答える 1

8

ここ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構造体でも機能することに注意してください。

于 2011-08-12T15:21:08.697 に答える