明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
楼主: mayingjun

[讨论] Lee Mac大神为什么这样写vla容器的函数?

[复制链接]
发表于 2019-8-2 13:25:37 | 显示全部楼层
本帖最后由 urings 于 2019-8-2 13:38 编辑
ll_j 发表于 2019-8-2 10:26
那么问题来了,把表达式计算的值存入变量和只计算表达式一次(?)的函数有什么本质区别吗?的确使用函数效 ...

我能想到的是:
1.尽量少定义变量。每定义一个变量,编译器就要为变量分配内存。
2.就算用全局变量,但不是每个变量的值都是一句代码就能解决的。
全局变量不全是 (setq i 0)
加上还要调试,那么总是要写一个函数的,如果函数中能直接取值,那又何必再定义一个变量。



发表于 2019-8-2 17:28:46 | 显示全部楼层
个人觉得还是用lee mac的办法好点
如果用变量做全局变量 就要自己求一个值再赋值给再量,第一次和后以的代码不一样

用函数来储存值 不管什么时候调用代码都一样  不用再区分代码,特别是
vl-load-com
vlax-get-acad-object
vla-get-activedocument
vla-get-ModelSpace
经常都要用的写个通用函数用起来很方便,不用每次都写一长串
发表于 2019-8-2 17:30:10 | 显示全部楼层
之前明经群里已经讨论过了,加载函数,只会运行一次defun的内容得到一个结果,后面再调用这个函数,会直接调用运行的结果,而不是重新运行函数。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-5-18 15:23 , Processed in 0.138340 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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