这个Lisp函数的传统名称是什么?

时间:2016-03-08 06:03:08

标签: lisp common-lisp

我在其他地方看过这个功能,而且我记得,它有一个标准名称。我无法记住它,并且仔细阅读亚历山大的list.lisp图书馆并没有向我透露任何秘密。

(defun familiar-function (list func)
  (loop for e in list
        collect (if (listp e)
                    (familiar-function e func)
                    (funcall func e))))

1 个答案:

答案 0 :(得分:5)

看起来像tree-map,也称为maptree

(familiar-function '(() (3 2 3) (2) (2) (55 22 33))
                   #'1+)
=> (NIL (4 3 4) (3) (3) (56 23 34))

如评论中所述,您的方法假设树是正确的列表,并且不将该函数应用于非零cdr单元格,与链接函数相反。