【问题标题】:"unbound identifier in module" error in Racket球拍中的“模块中的未绑定标识符”错误
【发布时间】:2015-08-24 15:54:06
【问题描述】:

我正在使用 DrRacket 在 Racket 中编写一个函数:

(define (same-parity a .b)
 (let ((remain (remainder a 2)))
  (define (recur-part remain-list)
   (cond ((= remain (remainder (car remain-list) 2))
         (append remain-list (list (car remain-list)))
         (recur-part (cdr remain-list)))
        (else (recur-part (cdr remain-list)))))
  (recur-part b)))

但是编译器报错:b: unbound identifier in module in: b

(recur-part b)怎么会在same-parity的定义范围内?

谢谢!

【问题讨论】:

    标签: racket


    【解决方案1】:

    .b 之间插入一个空格。

    问题在于 .b 是 Racket 中的合法名称,因此 .b 不在 b 范围内。

    【讨论】:

    • 它有效:) thx。以前我认为. 是分隔符而不是名称的一部分。
    • @Caesar 很容易犯错误。在大多数语言中,它是一个分隔符。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-07-27
    • 1970-01-01
    • 2014-01-13
    • 2022-12-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多