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-outstruct

#lang racket

(provide (struct-out account))

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

これにより、、、、account?および(および) が提供されaccount-ownerます。account-typeaccount-amountaccount

于 2013-09-20T12:17:23.663 に答える