小编Bob*_*Bob的帖子

我需要帮助来理解查找列表深度的 lisp 程序

我需要帮助从理论上理解我的代码。这是我的 lisp 程序:

(defun depth (lst)

  (if (or (null lst) (atom lst)) 0 

    (+ 1 (apply 'max (mapcar #'depth lst)))

  ))
Run Code Online (Sandbox Code Playgroud)

我知道它适用于这个例子:

(write (depth '((a (b c) d r ((t))))) -> 3
Run Code Online (Sandbox Code Playgroud)

我只是无法理解我尝试过的语句的else语句IF

如果您能帮助我,将不胜感激。先感谢您。

lisp recursion list common-lisp map-function

1
推荐指数
1
解决办法
83
查看次数

标签 统计

common-lisp ×1

lisp ×1

list ×1

map-function ×1

recursion ×1