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

发布于 2022-09-01 05:38:26 字数 321 浏览 21 评论 0

比如:

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

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

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

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

if a :
    b
else:
    do1
    do2

谢谢

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

夜雨飘雪 2022-09-08 05:38:26

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

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

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

scheme(begin 
    (do1)
    (do2))
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文