gpt4 book ai didi

racket - 子模块中的结构定义在主模块中正确提供和必需,但 getter 在主模块交互区域中不起作用

转载 作者:行者123 更新时间:2023-12-02 09:20:59 26 4
gpt4 key购买 nike

在子模块“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

为什么结构 getter 不起作用? Racket 5.3.6

最佳答案

在您的提供中使用struct-out ,它提供了 struct 定义的所有函数。

#lang racket

(provide (struct-out account))

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

这提供了帐户?帐户所有者帐户类型帐户金额(如以及帐户)。

关于racket - 子模块中的结构定义在主模块中正确提供和必需,但 getter 在主模块交互区域中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18915479/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com