制作其他列表的第 N 项列表时,LISP 函数失败并且 returns NIL

LISP function fails and returns NIL when making a list of Nth items of other lists

我需要创建一个命名函数,它从三个主列表的第 3 个项目创建一个新列表。我做了这个代码

    (defun func (nth n))
    (lambda (l1 l2 l3) '(H G (U J) (T R)) '(2 1 (+ 4 5)) '(TYPE CHAR REAL (H G)))
    (write (func (lambda (l1 l2 l3) '(H G (U J) (T R)) '(2 1 (+ 4 5)) '(TYPE CHAR REAL (H G))) 2))

但它 returns 无。我做错了什么?

您需要缩进和格式化您的代码。否则它就是一团不可读的字符。

这是您拥有的:

您的函数 func 有两个参数但什么都不做。它总是 returns NIL。

然后是一个接受三个参数的lambda表达式。它使用了其中的 none 个。它有三个 body 表达式。前两个没有使用,第三个正在归还。

第三个表达式调用函数 func,它总是 returns NIL。 WRITE 然后打印这个 NIL。

你的代码看起来像这样:

(defun func (nth n)
  ; no functionality, does nothing and returns NIL
  )

(lambda (l1 l2 l3)
   '(H G (U J) (T R))
   '(2 1 (+ 4 5))
   '(TYPE CHAR REAL (H G)))

(write (func (lambda (l1 l2 l3)
               '(H G (U J) (T R))
               '(2 1 (+ 4 5))
               '(TYPE CHAR REAL (H G)))
             2))

提示:您需要编写实际功能。