首页 > Lisp初学求助,是否存在函数,能够合并多个函数使之分别执行?

Lisp初学求助,是否存在函数,能够合并多个函数使之分别执行?

比如:

>>(foo (do1) (do2))
(do1)
(do2)

并且,能够使得下面的代码能够执行?

(if (a)
    (b)
    (foo (do1) (do2)))

其实就是想问对于参数数量有限制的函数,怎么增加函数数量?
上面的if函数,按照正常使用,只能写入3个参数,我想让第三个参数扩展一下.类似于

if a :
    b
else:
    do1
    do2

谢谢


不懂autolisp,但是commonlisp有progn满足你的需求,我不知道autolisp有没有,你可以试试。

commonlisp(if (a)
    (b)
    (progn
        (do1)
        (do2)))

,如果是scheme的话可以用begin,它的作用就是无限个参数返回最后一个表达式的值。

scheme(begin 
    (do1)
    (do2))
【热门文章】
【热门文章】