明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1367|回复: 10

[提问] 关于defun内嵌套defun的问题

[复制链接]
发表于 2024-3-18 21:04:33 | 显示全部楼层 |阅读模式
新手自己写代码时,想把相关联的东西放在一起。于是就出现了如下代码

(defun C:TT()
  (cond
    (test1 (APP_TT1))
    (test2 (APP_TT2))
  );end cond

  (defun APP_TT1()
  (command "line")
  );end defun TT1

  (defun APP_TT2()
  (command "copy")
  );end defun TT1

);end defun

但是这个代码实际上并无法执行,因为无法跳转到APP_TT1上,会说找不到。
假如把defun TT1和TT2放在最开头,而其他判别条件放在后面,就能正常执行。
我猜测是他读代码是从上往下读,读到前面没有提到过,又无法识别的就跳错了,请问是不是这样。
因为我是通过initget搞了好几个选项的,以至于前面好多的defun,不同的东西修改起来从下往上翻好不习惯。
发表于 2024-3-18 21:28:39 | 显示全部楼层
编译成vlx看看能不能
回复 支持 1 反对 0

使用道具 举报

发表于 2024-3-18 21:16:45 | 显示全部楼层
对 代码是从上往下加载的 飞诗编辑器 在函数名上右键 可以跳转至函数位置
发表于 2024-3-19 08:48:09 | 显示全部楼层
刚学建议多看看书,看了就多写代码,N年后又是一位大侠。
学习资料:http://bbs.mjtd.com/forum.php?mod=viewthread&tid=80070
发表于 2024-3-19 09:28:08 | 显示全部楼层
先定义,再使用
发表于 2024-3-19 10:14:45 | 显示全部楼层
VLISP是面向过程的,遵循先定义再使用的原则,所以Defun里面的Defun要放在世纪运行的代码前面先定义,后面才能调用。
 楼主| 发表于 2024-3-19 20:01:00 | 显示全部楼层

没有试过咧。
 楼主| 发表于 2024-3-19 20:02:29 | 显示全部楼层
飞雪神光 发表于 2024-3-18 21:16
对 代码是从上往下加载的 飞诗编辑器 在函数名上右键 可以跳转至函数位置

谢谢谢谢,我试试。
 楼主| 发表于 2024-3-19 20:49:37 | 显示全部楼层
ssyfeng 发表于 2024-3-19 08:48
刚学建议多看看书,看了就多写代码,N年后又是一位大侠。
学习资料:http://bbs.mjtd.com/forum.php?mod=v ...

现在就是业余时间给自己私人定制一点功能啦。太复杂的东西还不会。
 楼主| 发表于 2024-3-19 20:52:16 | 显示全部楼层
vitalgg 发表于 2024-3-19 09:28
先定义,再使用

好的,谢谢。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-25 21:43 , Processed in 0.174835 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表