本帖最后由 llsheng_73 于 2024-11-3 15:18 编辑
如果后边这些函数都只是为前边的服务,别的地方不会调用它们,可以去掉它们的参数,直接引用调用它们的地方定义的变量,让局部变量成为范围内全局变量使用,不会成为真正的全局变量
- (defun c:tt(/ a b c)
- (and(setq a(getreal))
- (setq b(getreal))
- (setq c(getreal))
- (t1)
- (t2)
- (t3)))
- (defun t1()
- (>(+ a b)c))
- (defun t2()
- (>(+ a c)b))
- (defun t3()
- (>(+ b c)a))
这是比较偷懒的做法,如果后续那些函数过程中不会修改参数变量,这样做也没什么不可以,但容易形成不好的习惯,正确的做法是,把引用到的变量都设置成参数,
- (defun c:tt(/ a b c)
- (and(setq a(getreal))
- (setq b(getreal))
- (setq c(getreal))
- (t1 a b c)
- (t2 a b c)
- (t3 a b c)))
- (defun t1(i j k / a)
- (setq a(>(+ i j)k)))
- (defun t2(l m n / b)
- (setq b(>(+ l n)m)))
- (defun t3(d e f)
- (>(+ e f)d))
|