我是计划中的新手,我正在尝试编写一个始终找到列表尾部第一个元素的过程。这在递归调用中很重要。
这是我的程序:
(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
可能是什么问题?你能给我一个灵感吗?我对“第二”的定义是错误的还是什么?
提前致谢。