guosheyang 发表于 2022-8-5 19:41:02

vlide中,如何快速列出函数的局部变量 及调试中如何快速清空所有变量的值

本帖最后由 guosheyang 于 2022-10-25 11:04 编辑

      在lisp的vlide中,如何简单地列出函数的局部变量呢,其实也要较为简单的方法。参考网友们的一些资料,大致总结为以下步骤,供初学者们参考,如有问题或者补充的请在此跟帖,谢谢!


第一 在VLIDE中,在下拉菜单:工具---环境选项----基本选项----诊断中,勾选"检查语法时报告统计信息"加载时打印顶层结果"即可,见下图。注意此步中这样一次设置好保存后可以一直有效,只要不重新设置)


第二 将函数名(或自定义命令名)后紧邻的括号内所有的局部变量清空,斜杆前的自变量保留;


第三 双击全选主函数代码,转为变为蓝色选中状态,并运行vlide工具按钮中的第四个按钮,检查选定代码按钮
(本图最右侧这个按钮)

第四在弹出的界面中,全局变量行括号中的内容就是所有的局部变量。

       如果得到的变量列表中有蓝色亮显的CAD中固有变量或常量等内容,比如pause 等内容,要删除掉,否则会出错。
    另外,一些初学者在逐行调试过程中,希望在程序末尾将所有变量清空,可以用以下代码实现,其中的v1 v2 v3 v4 v5 v6......表示上面得到的所有局部变量, 另外还要加上所有自变量。如果程序调试好以后,这句就没必要了,因为lisp是运行完以后自动清理垃圾的,也就是运行完后局部变量的值会自动清空,所以只限于调试阶段程序没法成功执行时可用。
   (foreach x '(v1 v2 v3 v4 v5 v6)(set x nil))
注意上面这句中要用set不用setq

guosheyang 发表于 2022-8-5 20:49:33

谢谢xj6019朋友的肯定!

tianbeiyuan 发表于 2022-10-20 10:07:03


多谢分享了

baitang36 发表于 2022-10-25 07:53:55

(foreach x '(v1 v2 v3 v4 v5 v6)(set x nil))
setq就是set引用

guosheyang 发表于 2022-10-25 11:00:12

baitang36 发表于 2022-10-25 07:53
(foreach x '(v1 v2 v3 v4 v5 v6)(set x nil))
setq就是set引用

哦好的   理解了谢谢!

linhuiu0668 发表于 2022-12-8 17:09:54

跟着一起学习了

我爱lisp 发表于 2023-5-19 14:39:51

嗯这个方法简单实用

s1os5210 发表于 2024-3-18 16:32:16

我去,早点没看到你
页: [1]
查看完整版本: vlide中,如何快速列出函数的局部变量 及调试中如何快速清空所有变量的值