避免二次调用funcall
的一种解决方法是使用一个中间变量来存储funcall
的结果,然后在需要使用该结果的地方直接使用中间变量,而不是再次调用funcall
。下面是一个示例代码:
(let ((result (funcall #'(lambda (x) (+ x 1)) 2)))
(print result) ; 使用中间变量直接打印结果
(setq result (funcall #'(lambda (x) (* x 2)) result)) ; 使用中间变量计算新的结果
(print result))
在上面的示例中,我们首先使用funcall
调用一个匿名函数,将结果存储在result
变量中。然后我们直接使用result
打印结果。接下来,我们再次使用funcall
调用另一个匿名函数,将result
作为参数传递,并将新的结果重新赋值给result
。最后,我们再次使用result
打印最终的结果。
通过这种方式,我们避免了多次调用funcall
,而是只调用一次,并将结果存储在中间变量中,以便后续直接使用。
下一篇:避免Excel在公式中替换路径