明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 655|回复: 0

[讨论] progn 图解,Lisp 基础知识图解系列.

[复制链接]
发表于 2022-6-2 07:07:11 | 显示全部楼层 |阅读模式
本帖最后由 vitalgg 于 2022-6-2 08:00 编辑

progn
progn 的作用是将多个表达式集合到一起,形成一个大的表达式。

一些函数或操作符的参数为一个表达式,但是我们一个表达式表述不清楚时,可以用 progn 将多个表达式包裹,传递给函数或操作符。

如 while 的条件表达式,if 的 条件表达式以及真或假时的表达式。

while 或 if 需要知道的就是最后一个表达式的结果。

就跟别人向你借钱时一样,不管你前面说的多么天花乱坠、合情合理,别人只在乎最后的结果,借还是不借。

  1. (while expr-condition
  2.   exprs
  3.   )
  4. ;; 以expr3 的求值结果为依据, T 继续 ,nil 跳出。

  5. (while (progn expr1 expr2 expr3)
  6.   ....
  7.   )

  8. ;; 示例
  9. (setq i 0)
  10. (while (progn (princ i)(princ "\n") (< i 10))
  11.   (princ "aaa\n")
  12.   (setq i (1+ i))
  13.   )

  14. ;; IF
  15. (if expr-condtion
  16.     exprs-true
  17.     exprs-false
  18.     )

  19. (if (progn expr1 expr2 expr3);; 以expr3 的求值结果为依据, T 执行 expr-true ,nil 执行 expr-false。
  20.     (progn expr-true...)
  21.     (progn expr-false ...))







全文: https://gitee.com/atlisp/atlisp- ... B%E9%98%B6/lisp.org



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x

评分

参与人数 1明经币 +1 收起 理由
不一样地设计 + 1 很给力!

查看全部评分

"觉得好,就打赏"
还没有人打赏,支持一下
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-9-29 15:31 , Processed in 0.150579 second(s), 28 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表