make 函数从何而来?

2024-01-15

这段代码的工作原理:

(define list-of-events 
  (for/list ([(date code)
              (in-query odc "select date, code from attendance
                             where student_id = ? and term_code = ?"
                        "12345" "654321")])
    (make-attendance-event date code)))

但是,当我尝试复制另一个表的行为时,make-attendance-event 的并行项目抱怨它是“未绑定的标识符”。

现在,make-attendance-event 从哪里来?


标识符make-attendance-event来自一个(define-struct attendance-event (...)).

结构体定义如

(define-struct foo (a b))

将扩展为多个定义。

  1. make-foo 将构造 foo-structs
  2. foo-a、foo-b 字段访问器
  3. 富?可以确定值是否为 foo 的谓词

在高级语言中,您还可以获得:

  1. 设置-foo-a!,设置-foo-b!改变各自的字段。

在这里查看更多内容:http://docs.racket-lang.org/htdp-langs/advanced.html?q=define-struct#%28form._%28%28lib._lang%2Fhtdp-advanced..rkt%29._define-struct% 29%29 http://docs.racket-lang.org/htdp-langs/advanced.html?q=define-struct#%28form._%28%28lib._lang%2Fhtdp-advanced..rkt%29._define-struct%29%29

请注意,您可以将鼠标悬停在标识符上make-attendance-event在 DrRacket 中,右键单击并选择“跳转到绑定事件”以查看定义标识符的位置。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

make 函数从何而来? 的相关文章

  • 球拍中的树形折叠

    我是 Racket 的初学者 我有这样的问题 定义一个结构 node 其中包含以下字段 value left middle right 该结构表示树结构中的节点 这些字段包含存储在节点 左子树中的值 分别为中子树和右子树 如果一个子树 不存
  • BSL(如何设计程序):如何将代码从单独的文件导入到定义区域?

    我对 BSL 有疑问 我想将我的代码分成单独的辅助文件并使用 require auxiliary function rkt 首先将分离的代码导入到定义区域 然而它并没有像想象的那样工作 虽然没有给出明确的错误 但似乎 DrRacket 根本
  • 在这种情况下如何在 Racket 上订购我的累积变量?

    出于教育原因 我使用 Racket 进行编码 我收到了一项任务 其中我应该创建一个函数 在没有过滤器的情况下 它将接收一个列表作为输入 并仅返回另一个列表 其中包含第一个列表的偶数 我提出了迭代过程的递归定义 define add even
  • 从 procedure 形式转换为 let 形式

    我在scheme中编写了这个程序形式的代码 我需要将其更改为let形式 这是程序表单代码 define PI 3 14159265 define areac lambda d PI d 2 d 2 define volumec lambda
  • 当给定参数是两个项目和一个列表时,如何在 DrScheme 中将列表中的一个项目替换为另一个项目?

    当给定参数是两个项目和一个列表时 如何在 DrScheme 中将列表中的一个项目替换为另一个项目 Use map使用一个函数 当其参数等于要替换的项目时返回替换项目 否则返回该参数
  • 调用宏中的其他函数

    如何在宏中调用其他函数 宏 以下似乎不起作用 即使我定义bar with define syntax define bar hello define syntax foo stx syntax case stx a b bar Racket
  • 评估球拍响应/xexpr 中的变量

    我正在尝试在 Racket 中制作一个简单的书签网络应用程序 它的目的是接收一个 url 作为 CGI 参数 现在 我只是试图通过反射它来确认我收到了它 define start request response xexpr let bin
  • 如何根据 Racket Web servlet 中的路径显示不同的内容?

    我正在尝试遵循有关简单网络应用程序的 Racket 指南上的教程 但无法得到一个基本的东西 如何让 servlet 根据请求 URL 提供不同的内容 尽管我进行了搜索 但即使是巨大的博客示例也是一个大文件 并且所有内容都在我背后用巨大的 g
  • 在 SICP 中推广素数对

    我花了一些时间来研究 素数对 的生成SICP 第 2 2 3 节 作为常规接口的序列 例如 1 3 不 因为总和 4 1 4 是的 因为 sum 5 素数 这是我从头开始得到的 有效的 lang sicp RANGE helper func
  • 球拍/计划过滤

    我如何过滤它以显示所有蔬菜 先感谢您 Pecan 1982 nut AL Blackberry 2004 fruit AL Peach 2006 fruit AL Rice 2007 grain AR Orange 2005 fruit F
  • make 函数从何而来?

    这段代码的工作原理 define list of events for list date code in query odc select date code from attendance where student id and te
  • 在折叠树的 Typed Racket 中投射到任意类型

    我正在尝试为某些类型生成一个类型化的球拍程序A 需要一个Tree 以及两个函数As to an A 另一个类型的参数A 并返回一个类型的值A 我不太熟悉 All 语法 但我尝试使用它 不幸的是 我的代码在构建时产生以下错误消息 Type C
  • 方案相当于元组拆包是什么?

    在Python中 我可以做这样的事情 t 1 2 a b t a 将是 1 b 将是 2 假设我有一个列表 1 2 在方案中 有什么办法可以做类似的事情let 如果有什么区别的话 我会使用 Racket 在球拍中你可以使用match htt
  • schema 中的方法和属性:Scheme 中是否可以实现 OOP?

    我将用一个简单的例子来说明我的问题 在 Java C 或任何其他 OOP 语言中 我可以创建一个pie类的方式类似于 class Apple public String flavor public int pieces private in
  • 有没有办法检查一个列表的所有元素是否都包含在球拍的另一个列表中?

    我想要一个执行类似操作的函数 gt function 1 2 3 4 1 2 3 4 5 t 在这种情况下返回 t 因为第一个列表的所有元素都包含在第二个列表中 有没有一个函数可以做到这一点而不必担心顺序 在这种情况下 您不会将列表进行比较
  • 遍历 Racket 中的字母表中的字母

    我想编写一个程序 将字母表中的字母作为符号进行迭代 并用它们做一些事情 我希望它大致相当于以下 C 代码 for char letter a letter lt z letter printf The letter is c n lette
  • 在Scheme中编写一个自动记忆器。有关宏和包装器的帮助

    我在Scheme中编写自动记忆器时遇到了一些问题 我有一个有效的 memoize 函数 它创建一个哈希表并检查该值是否已经计算出来 如果之前已经计算过 则返回值 否则调用该函数 define memoizer fun let a table
  • 将自然数转换为特定基数并将其作为列表返回

    我想将函数的结果显示为列表而不是数字 我的结果是 define lst list define num gt base n b if zero n append lst list 0 append lst list 10 num gt ba
  • 如何在球拍中查看扩展宏?

    我得到了这个答案https stackoverflow com a 70318991 https stackoverflow com a 70318991关于编写一个简单的宏来记录宏扩展时的时间 然后始终返回该时间 lang racket
  • 在Racket中将结构递归转化为累积递归

    我有一些代码来查找最大高度并将其替换为关联的名称 身高和姓名有单独的列表 每个列表的长度相同且非空 我可以使用结构递归来解决这个问题 但必须将其更改为累积递归 而且我不确定如何做到这一点 我见过的所有例子都让我困惑 有人能够将代码变成使用累

随机推荐