尒樣僮 发表于 2018-2-17 15:25:11

为什么我设置的局部变量没有用?(defun c:oo (/ ss s1 s2)

本帖最后由 尒樣僮 于 2018-2-17 15:29 编辑

为什么我设置的局部变量没有用 变量里一直都有值 每次都只有在程序最后每个变量赋NIL
哪位给告诉我下,怎么设置全局和局部变量,谢谢……

(defun c:oo (/ ss s1 s2)
(setq osmode_bak (getvar "osmode"))
(setvar "osmode" 0)
(princ "\n请选取要偏移的直线:")
(setq ss (ssget ))
(if (not ss)
    (progn (princ "\n提示:未选中直线,程序退出!\n")
      (setvar "osmode" osmode_bak)
      (exit)
    )
)
(if (= 1 (sslength ss))
    (progn
      (setq s1 nil)
      (setq s2 nil)
      (setq s3 nil)
      (setq s1 (ssname ss 0))
      (setq s2 (getpoint ))
      (setvar "osmode" osmode_bak)
      (command "OFFSET" "100" s1 s2 "")
      (command "OFFSET" "750" s1 s2 "")
      (command "OFFSET" "800" s1 s2 "")
      (command "OFFSET" "1500" s1 s2 "")
      (command "OFFSET" "2200" s1 s2 "")
    )
)
(setvar "osmode" osmode_bak)
)

Andyhon 发表于 2018-2-17 22:12:15

变量? 那个变量?

xinxirong 发表于 2018-2-19 13:04:29

ss s1 s2是局部变量,s3是全局变量

zzl9105 发表于 2018-5-16 16:08:02

xinxirong 发表于 2018-2-19 13:04
ss s1 s2是局部变量,s3是全局变量
局部变量和全局变量,如何区别设置,我的小程序,把里面的所有变量设为局部变量,程序反而不起作用了,把这些局部变量都去掉不定义它,程序可以正常使用,这是为什么呢?

20060510412 发表于 2019-3-11 17:44:25

zzl9105 发表于 2018-5-16 16:08
局部变量和全局变量,如何区别设置,我的小程序,把里面的所有变量设为局部变量,程序反而不起作用了,把 ...

必须注明写局部变量吗,默认空白不写行不行呢
页: [1]
查看完整版本: 为什么我设置的局部变量没有用?(defun c:oo (/ ss s1 s2)