Rooster 发表于 2022-7-6 15:21:13

这是什么意思?

我在运行脚本时收到以下警告:
 
______________________________
问题
分配给受保护符号:
类型
输入中断循环?
 
是/否
______________________________
 
谁能告诉我这是什么意思?如果我多次单击YES,脚本确实会继续执行ok,但我宁愿它当初没有这样做。。。。

Rooster 发表于 2022-7-6 15:30:40

好的,我仍然不知道这意味着什么,也不知道它是如何中断我的脚本的,但在谷歌的帮助下,我发现将VLISP中环境选项下的常规选项从“提示进入中断循环”更改为“透明”解决了这个问题。仅供其他人参考。。。。

David Bethel 发表于 2022-7-6 15:32:48

我的猜测是,您试图使用“type”这个词作为变量或函数名。它是一个受保护的名称,因为它是一个AutoLISP函数
 
这两个都不是数字

Rooster 发表于 2022-7-6 15:37:53

 
啊!我懂了。是的,我在出现警告时使用的LISP确实有一个名为“type”的变量。。。。。不再是了!谢谢

Lee Mac 发表于 2022-7-6 15:45:26

很容易避免使用vlide键入函数-LISP命令的颜色为蓝色而不是黑色。

David Bethel 发表于 2022-7-6 15:51:30

李,
 
我很惊讶你没有收到类似的警告,关于你试图定位*错误*符号的方式。我使用Ally lisp analyzer,它显示为一个警告。我试着将“类型”本地化,作为一种类似于Rooster的测试:
 
然后是您的场景
我很久以前就看到过关于直接调用*error*的讨论,我认为在很大程度上,他们同意直接调用*error*不是故意的。当我第一次看到您使用(*error*“”)时,我以为您正在声明要退出的错误状态,但看起来您试图将其用作结束语句。
 
这是我用来开始一个完整例程的模板
 
*创建错误捕获
*保存现有设置
*设置模式
*撤消在错误情况下所做的一切
*将所有模式重置为其原始状态
 
一些人过去把这称为推/弹出场景,我使用了设置模式和重置模式。
 
*错误*本身不会停止评估过程。它用于捕获错误消息并处理*error*SUBR中的语句(如果已定义)。
 
致以问候-大卫

Lee Mac 发表于 2022-7-6 15:57:04

啊,谢谢大卫,非常感谢你的帮助。
 
我使用了(*error*“”),因为这是CAB不久前在这里提供的一个示例,所以我养成了使用它的习惯。

Lee Mac 发表于 2022-7-6 16:01:51

这个错误陷阱是你自己造成的吗?它似乎非常先进!

David Bethel 发表于 2022-7-6 16:10:03

李,
 
像大多数事情一样,它是经过多年演变而成的。我发现90年代早期的套路与我发布的非常接近。
 
一些早期样本:
 
4
5

Lee Mac 发表于 2022-7-6 16:11:58

 
谢谢David,
 
再问一个问题,这可能是一个愚蠢的问题-但是,如果您在上面的代码中使用了“cond”语句,那么在以下条件中:
 
6
 

 
7
 
在这些情况下,函数返回什么?
 
我的理解是,如果“s”等于语句,“function cancelled”或“quit/exit abort”,那么就做些什么,但在条件语句中似乎没有指定。
 
如果这有任何意义的话。。。
页: [1] 2
查看完整版本: 这是什么意思?