我见过很多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的新手,我不明白为什么会发生这种情况。
这是因为所使用的教学语言,很可能你使用的是有一定局限性的学生语言。要解决这个问题,请确保这一行位于文件的开头:
#lang racket
选择DrRacket窗口左下角的"Determine language from source"选项。现在应该可以正常工作了:
(cons 1 2)
=> '(1 . 2)