我做错什么了吗
我试着在很多例程中使用它,所以我不必一直重新键入它。但是当调用getin函数时,它不会设置值。我做错了什么?(defun getin (/ OSM LAY)
(setvar "CMDECHO" 0)
(setq
OSM (getvar "OSMODE")
LAY (getvar "CLAYER")
);end setq
(setvar "OSMODE" 0)
);end defun
(defun getout ()
(setvar "CMDECHO" 1)
(setvar "OSMODE" OSM)
(setvar "CLAYER" LAY)
(princ)
);end defun
谢谢你的帮助!! Getin可以工作,但您将变量OSM和LAY设置为local,这意味着当函数完成时,这些值将设置为nil。因此,当您试图调用getout时,它试图将系统变量“OSMODE”和“CLAYER”设置为nil。 当你在getin函数中终止变量(/osm-lay)时,当函数结束时,它们为零。因此,当getout函数被调用时,变量osm和lay为零。因此,去掉主lisp函数中的变量
研究错误陷阱,并开发一个全局错误陷阱以供使用。
谢谢,我想我是在反思本地和全球的事情。
再次感谢,效果很好。
页:
[1]