空?:未绑定的标识符
Posted
技术标签:
【中文标题】空?:未绑定的标识符【英文标题】:empty?: unbound identifier 【发布时间】:2021-11-24 09:38:54 【问题描述】:原始问题:编写一个递归 Racket 函数“more”,它接受两个列表 xs 和 ys 作为参数,如果 xs 的元素多于 ys,则返回 true,否则返回 false。例如 (more '(1 2 3) '(1 2)) 应该评估为真,而 (more '(1 2 3) '(0 1 2)) 应该评估为假。
(define (more xs ys)
(if (empty? ys)
(if (empty? xs) #false #true)
(if (empty? xs) #false (more (cdr xs) (cdr ys)))))
(writeln (more '(1 2 3) '(1 2)))
(writeln (more '(1 2 3) '(0 1 2 3)))
(writeln (more '(1 2 3) '(0 1 2)))
我收到错误“:13: empty?: unbound identifier in: empty?” “空”如何?一个未绑定的标识符。
【问题讨论】:
或者,您可以使用标准中的null?
,而不是empty?
。
【参考方案1】:
看起来您正在使用#lang racket/base
(第一行有#lang racket/base
)。在#lang racket/base
中,默认不提供empty?
。
您的作业可能要求您使用学生语言(单击 DrRacket 中左下角的下拉按钮更改为,例如,Beginning Student),默认情况下会向您提供empty?
。
或者,如果您真的想使用#lang racket/base
,您可以添加(require racket/list)
以使您可以使用empty?
。
或者,将#lang racket/base
更改为#lang racket
,这将自动与其他几个库一起(require racket/list)
。
【讨论】:
以上是关于空?:未绑定的标识符的主要内容,如果未能解决你的问题,请参考以下文章
java.sql.SQLException:游标状态无效:标识符游标未定位在 UPDATE、DELETE、SET 或 GET 语句中的行上:;结果集为空