CAD开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

AutoLISP 开发指南

关于Defun与早期版本的AutoCAD(AutoLISP)的兼容性

2023-1-6 13:20| 发布者: admin| 查看: 764| 评论: 0|来自: AutoCAD

摘要: defun 的内部实现在 AutoCAD 2000 中发生了变化。

的内部实现在 AutoCAD 2000 中更改。defun

此更改对于从早期 AutoCAD 版本升级的绝大多数 AutoLISP 用户是透明的。此更改仅影响将定义操作为列表结构的 AutoLISP 代码,例如通过将一个函数追加到另一个函数,如以下代码所示:defun

(append s::startup (cdr mystartup))

对于此类情况,您可以使用来定义函数。尝试将函数用作列表会导致错误。以下示例说明了该错误:defun-qdefun

(defun foo (x) 4)
foo

(append foo '(3 4))
; error: Invalid attempt to access a compiled function definition.
You may want to define it using defun-q: #<SUBR @024bda3c FOO>

错误消息提醒您使用代替的可能性。提供该功能严格是为了向后兼容早期版本,不应用于其他目的。defun-qdefundefun-q


路过

雷人

握手

鲜花

鸡蛋

最新评论

python对CAD二次开发

QQ|Archiver|CAD开发者社区 ( 苏ICP备2022047690号-1 )

GMT+8, 2024-5-6 19:57

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

返回顶部