3

在子模块“accounts.rkt”中,我有:

#lang racket

(provide account)

(struct account (owner type amount) #:transparent)

在主模块“mainprogram.rkt”中,我有:

#lang racket

(require "accounts.rkt")

(define f (account "Jim" "Ledger" 123.45))

我按 f5 并在交互区域:

> f
(account "Jim" "Ledger" 123.45)
> (account-owner f)
account-owner undefined;
cannot reference an identifier before its definition

为什么结构吸气剂不起作用?球拍 5.3.6

4

1 回答 1

6

在您的provide使用struct-out中,它提供了由struct.

#lang racket

(provide (struct-out account))

(struct account (owner type amount) #:transparent)

这提供account?, account-owner, account-type, 和account-amount(以及account)。

于 2013-09-20T12:17:23.663 回答