Как обеспечить все функции, связанные со структурой в Racket - PullRequest
0 голосов
/ 26 февраля 2019

Есть ли способ предоставить все функции, связанные с 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 (и любые другие методы, связанные со структурой) без явного перечисления их?

1 Ответ

0 голосов
/ 26 февраля 2019

Благодаря @PetSerAl в комментариях, способ сделать это -

(provide (struct-out foo-struct))

, который предоставит все методы, связанные с foo-struct.

...