如何使用函数作为参数并应用于lisp中的子列表?

时间:2013-11-12 23:28:10

标签: lisp common-lisp clisp

问题很简短。

假设F是任何功能,在这种情况下我使用F = length,而L是包含子列表的任何列表,例如在这种情况下,L((3 3 3) (2 2) (1))。 如何将功能F应用于列表L的车辆?

(defun try (F L)
    ('F (car L)))

当我将此功能称为

(try 'length '((3 3 3) (2 2) (1) (1) ))

我应该得到3,因为L(3 3 3)的第一个Ssblist的长度为3。

1 个答案:

答案 0 :(得分:6)

使用funcall

(funcall f (car l))