-1

我有以下函数,我想使用它们的返回值作为父函数的参数来调用多个其他函数。

这目前有效:

(defun feet-to-m (A)
    (setf B (feet-to-inches A)) 
    (setf C (inches-to-cm B))   
    (setf D (cm-to-m C)))

我想知道 Lisp 是否能够嵌套函数以便以下工作,或者更有效的方法:

(defun feet-to-m (A)
    (cm-to-m (inches-to-cm (feet-to-inches (A)))))
4

1 回答 1

2

您的代码应该几乎可以正常工作。您只需要删除 . 周围的括号即可A。你的直觉是对的,这正是像 Lisp 这样的函数式语言应该使用的范式。您给出的第一个示例更多的是如何使用 Java、c++ 等命令式语言进行编码。

(defun feet-to-m (A)
    (cm-to-m (inches-to-cm (feet-to-inches A))))
于 2013-10-12T17:39:29.517 回答