我是lisp的新手,如果条件返回true,我只想尝试调用两个函数。
(cond
((equals (first expression) "+")
(function1 parameter)
(function2 parameter)))
在上面的代码中,我只想调用function1和function2。有什么想法吗?
答案 0 :(得分:4)
Common Lisp
EQUALS不存在,EQUAL
COND已经做了你想要的事情
COND允许在测试后进行多次调用:
(cond ((equal (first expression) "+")
(do-something ...)
(do-something-more ...)))
它被称为Lisp,而不是LISP
答案 1 :(得分:-1)
是的,这样的预测:
(cond
((equals (first expression) "+")
(progn
(function1 paramter)
(function2 parameter))))
cond
使用一个表达式来评估是否为true。在这个用法progn
(及其参数)是一个表达式。 progn
,随后取n个表达式并对其进行评估。