对一个文件中的 AutoLISP 表达式求值
(load filename [onfailure])
load 函数可以用在另一个 明经通道 AutoLISP 函数中,甚至可以在加载文件中递归调用。
参数
filename
表示文件名的字符串。如果 filename 参数中未指定文件扩展名,load 在搜索要加载文件时自动添加扩展名。如果必要,函数将按如下先后次序采用扩展名:
一旦 load 找到匹配的文件,就会停止搜索,加载文件。
filename 参数可以包含路径前缀,如 c:/function/test1。一个斜杠 (/) 或两个反斜杠 (\\) 都是有效的目录分隔符。如果在 filename 字符串中没有包含目录前缀,load 函数将在 AutoCAD 的库搜索路径中搜索指定的文件。如果在这个路径中的某个地方找到了指定文件,load 函数就会加载它。
onfailure
load 失败时返回的值。
如果 onfailure 参数是有效的 明经通道 AutoLISP 函数,则会对其求值。在大多数情况下,onfailure 参数应为字符串或原子。这样就允许 AutoLISP 应用程序在调用 load 函数失败时执行其他操作。
返回值
如果成功,则返回值不确定。如果 load 调用失败,则返回 onfailure 的值。如果 onfailure 未定义,失败将导致错误信息。
示例
在下面的样例中,假设文件 /fred/test1.lsp 包含表达式
(defun MY-FUNC1 (x)
...函数体...
)
(defun MY-FUNC2 (x)
...函数体...
而且没有名为 test2 且扩展名为 .lsp、.fas 或 .vlx 的文件:
命令: (load "/fred/test1")
MY-FUNC2
命令: (load "\\fred\\test1")
MY-FUNC2
命令: (load "/fred/test1" "bad")
MY-FUNC2
命令: (load "test2" "bad")
"bad"
命令: (load "test2") 导致 AutoLISP 错误
参阅
defun 和 vl-load-all 函数, 以及 《Visual LISP 开发人员手册》中的 符号和函数处理。
明经通道 版权所有 未经许可 不得传播 | 评论 |