的内部实现在 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 |
|Archiver|CAD开发者社区 ( 苏ICP备2022047690号-1 )
GMT+8, 2024-5-6 19:57
Powered by Discuz! X3.4
Copyright © 2001-2021, Tencent Cloud.