是否有一种方法可以提供与struct
相关的所有功能,而无需明确枚举它们?
例如,如果我有foo.rkt
:
#lang racket
(provide foo-struct) ; provide all functions, not just the constructor
(struct foo-struct (biz bop))
然后是bar.rkt
:
#lang racket
(require "foo.rkt")
(define foo (foo-struct 1 2)) ; works just fine
(foo-struct-biz foo) ; is undefined
是否有一种方法可以提供foo-struct-biz
和foo-struct-bop
(以及与该结构相关的任何其他方法)而无需明确列出它们?
答案 0 :(得分:1)
感谢评论中的@PetSerAl,这样做的方法是
(provide (struct-out foo-struct))
将提供与foo-struct
相关的所有方法。