感谢指明方向,百度了下~
看看可以这样理解是否正确???
通过变量名的设置决定是否作用于全局;
函数的作用域取决于其定义方式。
 - (defun c:tt (/ bb-dxf)
- (defun BB-DXF ()
- ; 函数体
- )
- )
由于bb-dxf被列在c:tt函数的局部变量表中(即/ bb-dxf),它将被限定为c:tt函数的局部函数;只能在c:tt函数内部调用bb-dxf在c:tt函数执行结束后,bb-dxf会被释放,无法在其他函数或全局环境中调用。
虽然defun通常用于定义全局函数,但此处因bb-dxf被显式声明为局部变量,其作用域被强制限制。;若需让bb-dxf成为全局函数,应移除局部变量声明:
 - (defun c:tt ()
- (defun BB-DXF ()
- ; 函数体
- )
- )
此时bb-dxf会成为全局函数,可在其他位置调用;
|