我正在使用DrRacket学习Lisp中的编程。我不太喜欢它,但我想通过考试;)
我有一个奇怪的问题-我不能使用atom?和symbol?函数。但是number?和string?都工作得很好。
> (atom? '())
. . atom?: undefined;
cannot reference an identifier before its definition
> (symbol? A)
. . A: undefined;
cannot reference an identifier before its definition
>
我做错了什么吗?如果没
我看到了很多将两个数字作为参数的反例,并被告知在实验室中将两个数字作为参数传递给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
我是个新手,我不明白为什么会发生这种事。