我已经看到许多将利用两个数字作为参数的实例,并且我被告知在实验室中将传递两个数字作为参数传递给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很新,我不明白为什么会这样。
答案 0 :(得分:6)
由于使用的是教学语言,您可能会使用具有某些限制的学生语言。要解决此问题,请确保此行位于文件的开头:
#lang racket
并选择选项"确定源语言#34;在DrRacket窗口的左下角。现在这应该按预期工作:
(cons 1 2)
=> '(1 . 2)