幽兰聆雨 发表于 2024-5-11 19:11

初学autolisp的一点疑问

Q1 为啥图里这个会输出两次?(话说图片怎么上传啊?)

(princ points)
((4343.2 1182.29 0.0))((4343.2 1182.29 0.0))

Q2 print、princ、prin1有啥区别啊

另外,求新一点的autolisp学习资源(比如教材、函数大全啥的)

vitalgg 发表于 2024-5-11 19:26

本帖最后由 vitalgg 于 2024-5-11 19:43 编辑

第一个是princ这个函数本身的功能(输出内容),第二个显示是一组表达式中最后一个表达式的返回值。
你这个只有一个表达式(princ ...) 。所以显示这个表达式的返回值。
如果 (progn(princ "abc")(princ)) 就只显示一个 abc . 因为最后的表达式(princ)的返回值不会显示。
至于什么是返回值, 请了解下函数式编程。

https://gitee.com/atlisp/atlisp-docs




http://bbs.mjtd.com/data/attachment/forum/202312/21/211339e6j76hp6nzc95n8a.png


PDCA2025 发表于 2024-5-11 20:25

论坛里面好多资源,自己先找找吧

飞雪神光 发表于 2024-5-11 22:21

打印一次 本身返回一次 再加一个空白 princ 就行了
页: [1]
查看完整版本: 初学autolisp的一点疑问