CAD开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

AutoCAD 文档中心

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

2023-1-8 12:52| 发布者: admin| 查看: 745| 评论: 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


路过

雷人

握手

鲜花

鸡蛋

最新评论

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

GMT+8, 2024-12-15 14:49

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

返回顶部