4

我见过很多 cons 将两个数字作为参数的实例,并且有人告诉我在实验室中将两个数字作为参数传递给 cons,但是每当我这样做时,都会出现以下错误:

> (cons 1 2)
cons: second argument must be a list, but received 1 and 2

如果我执行以下操作,我会收到相同的错误:

> (cons '1 '2)
cons: second argument must be a list, but received 1 and 2

我对 Scheme 很陌生,我不明白为什么会这样。

4

1 回答 1

6

那是因为使用的教学语言,很可能您正在使用具有某些限制的学生语言。要解决此问题,请确保此行位于文件的开头:

#lang racket

并选择 DrRacket 窗口左下角的“从源代码确定语言”选项。现在这应该可以按预期工作:

(cons 1 2)
=> '(1 . 2)
于 2014-03-19T20:36:27.040 回答