DrRacket编写方案中的“列表不正确”错误

拉恩

我只是按照SICP 3.3.3中的说明创建表。我编写的代码效果很好。

这是代码_0.scm:

#lang scheme

(require rnrs/base-6)
(require rnrs/mutable-pairs-6)

(define (make-table)
  (list '*table*))

(define (assoc key records)
  (cond ((null? records)
         false)
        ((equal? key (caar records))
         (car records))
        (else
         (assoc key (cdr records)))))

(define (insert! key value table)
  (let ((record (assoc key (cdr table))))
    (if record
        (set-cdr! record value)
        (set-cdr! table
                  (cons (cons key value)
                        (cdr table)))))
  'OK)

(define (lookup key table)
  (let ((record (assoc key (cdr table))))
    (if record
        (cdr record)
        false)))


(define table (make-table))

(insert! 0 0 table)
(insert! 1 1 table)
(insert! 2 2 table)

此外,我想将该表作为其他文件中的库进行引用,因此我编写了一个code_1.scm。

; plus:目前我删除了code_0中的“ #lang方案”

代码_1.scm:

#lang scheme/load
(load "code_0.scm")

(define table-0 (make-table))

(insert! 0 0 table-0)
(insert! 1 1 table-0)
(insert! 2 2 table-0)

编译错误显示:

assoc:列表不正确:{{0。0}}

这一切怎么了?

它与Scheme中的LIST,DrRacket问题或语言的版本/标准有关?

武功

问题是这assoc是方案中的现有功能。尝试将函数重命名为my-assoc,它将按预期工作。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

MIT方案中的乘法不正确

在python列表中定位不正确

在方案中将不正确的列表转换为正确的列表的正确方法?

维数不正确的闪亮错误([中的错误:维数不正确)

(类别列中的项目顺序不正确)编写 SQL 查询以生成前 5 个类别的排名列表

错误格式不正确

RecyclerView的列表项中的布局对齐方式不正确

我映射不正确?“字段列表”中的未知列

Python 中的压缩列表排序不正确

列表中的 GitHub Markdown 链接显示不正确

在列表理解python中得到不正确的结果

如何修复Erlang中的不正确列表?

列表中的按钮数据绑定行为不正确

从列表中查找不正确的对象以保存网络请求

为什么我的列表中的对象数目不正确?

C中的结构链接列表连接不正确

从字典中收集的长度值列表顺序不正确

模块中的 Eclipse 错误,我格式不正确吗?

powershell中“FIND:参数格式不正确”的错误

$?中的命令行perl错误值不正确?

在 MySQL 中截断不正确的 DOUBLE 错误

UISearchDisplayController的searchResultsTableView的ContentSize不正确。iOS 7中的错误?

console.log 中的错误抛出顺序不正确?

pash 中 for 循环的不正确规范(打字错误?)

rstudio 中的 pheatmap 错误“维数不正确”

Lisp中的变量不是数字错误(不正确)

VBA 中不正确的语法错误“JOIN”

错误:声明短语中“附近的语法不正确”

Visual Studio 代码中不正确的错误波形