制作其他列表的第 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))
提示:您需要编写实际功能。
我需要创建一个命名函数,它从三个主列表的第 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))
提示:您需要编写实际功能。