示例展示如何使用 Racket 词法分析器生成器?
我最近正在玩 Racket,目前正在为脚本语言的子集实现词法分析器...并且想知道是否有更多示例来展示如何在 Racket 中使用词法分析器生成器? 我理解文…
递归与累加器风格的性能
我们有两个函数来计算给定数字的阶乘。第一个 ! 使用累加器样式。第二个事实,使用自然递归。 (define (! n0) (local (;; accumulator is the product…
local 与 lambda 的惯用用法?
在HtDP练习30.1.1中,我开始使用 local ,然后将其修改为使用 lambda 来回答这个问题。 (define (add-to-each2 accu a-list) (cond [(empty? a-list) …
球拍方案常数的重新定义
我目前正在使用球拍方案和 DrRacket 作为一些探索性编程的编辑器。当我尝试重新定义一个函数时,我收到以下消息: define-values: cannot re-define a…
如何在 Racket/PLT-Scheme 中检索按钮的标签?
我正在尝试来自 HtDP 的练习 22.3.3 但不知道如何检索被单击按钮的标签。我收到此消息 draw-message: Expected ;作为第二个参数,给出: (instantiate…
访问和更改使用“define”创建的值
我正在制作一个游戏,我有这样的: (define b "black piece") (define w "white piece") (define (board) (lambda (matrix) (list ((b w b w b w b w)…
方案:如何将用 cons 制成的列表更改为向量?
如何将使用 cons 制作的列表更改为向量? ((p b p b p b p b) (b p b p b p b p) (p b p b p b p b) (b p b p b p b p) (p b p b p b p b) (b p b p b…
处理两个复杂输入(删除列表中重复符号的列表)
这个问题来自htdp.我需要一些有关如何确定列表列表中一对符号是否唯一的指导。 这是我到目前为止得到的结果: ;; pair : symbol, list of symbols -> …
在球拍/方案中使用本地
在 htdp 的练习 18.1.12 中,我使用“local”重写了 maxi 函数。 ;; maxi : non-empty-lon -> number ;; to determine the largest number on alon (d…