我是一个新手,我试图编写一个总是找到列表的尾部第一个元素的过程。这在递归调用中很重要。创建一个程序,它将列表作为参数
这里是我的方法:
(define second (lambda (x) (car(cdr(x))))
,这是我如何努力,以检查其是否运行正常与否:
>(define x (list 1 2 3 4))
>(second x)
,这是错误:
procedure application: expected procedure, given: (1 2 3 4) (no arguments)
=== context ===
stdin::184: second
/usr/share/racket/collects/racket/private/misc.rkt:85:7
可能是什么问题?你能给我一个灵感吗?我对“第二”的定义是错的还是什么?
在此先感谢。
你在DrRacket中运行这个吗?如果是这样,您应该在发生错误的地区看到红色突出显示。你看到这个了吗? – dyoo 2013-04-24 21:55:06
不,我试图在终端上 – user2870 2013-04-24 22:24:08
如果可以,请尝试使用DrRacket运行;当你学习语言时,它提供的额外支持应该很有用。 – dyoo 2013-04-25 03:36:32