Struct 打印Racket结构时如何包含字段名

Struct 打印Racket结构时如何包含字段名,struct,racket,Struct,Racket,假设我有这个球拍代码: (struct pos (x y)) (displayln (pos 5 6)) 这将显示#。有没有办法让它也显示字段名和值 使用#:transparent选项,将显示以下值: (struct pos (x y) #:transparent) (displayln (pos 5 6)) 这将显示#(结构:pos 5 6),但我还想显示字段名(x和y)。有没有办法同时显示字段名和值?例如:(结构:pos:x5:y6) 我正在寻找类似于常见Lisp结构的显示方式。常见Li

假设我有这个球拍代码:

(struct pos (x y))
(displayln (pos 5 6))
这将显示
#
。有没有办法让它也显示字段名和值

使用
#:transparent
选项,将显示以下值:

(struct pos (x y) #:transparent)
(displayln (pos 5 6))
这将显示
#(结构:pos 5 6)
,但我还想显示字段名(
x
y
)。有没有办法同时显示字段名和值?例如:
(结构:pos:x5:y6)

我正在寻找类似于常见Lisp结构的显示方式。常见Lisp示例:

(defstruct pos x y)
(format t "~A~%" (make-pos :x 5 :y 6))

这将打印
#S(POS:x5:y6)

如果您不想使用第三方库,请查看最后一个示例

如果您不介意使用第三方库,您可以使用Rebence的