CAD开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

AutoCAD 文档中心

关于表达式(AutoLISP)

2023-1-8 13:42| 发布者: admin| 查看: 692| 评论: 0|来自: AutoCAD

摘要: 表达式是使用 AutoLISP 时使用的基本结构。

表达式是使用 AutoLISP 时使用的基本结构。

AutoLISP 表达式具有以下形式:

(function arguments)

每个表达式:

  • 以左括号开头。
  • 由函数名称和该函数的可选参数组成。每个参数也可以是一个表达式。
  • 以右括号结尾。
  • 返回可由周围表达式使用的值。最后一个解释的表达式的值将返回到调用表达式。

例如,下面的代码示例涉及三个函数:

(fun1 (fun2 arguments)(fun3 arguments))

第一个函数 ,有两个参数,在此示例中是表达式。表达式返回的值由 使用。其他函数 和 ,每个函数都有一个参数。AutoLISP 首先计算最内层的表达式,然后向外工作。在此示例中,包含 和 的表达式在 .fun1fun1fun2fun3fun2fun3fun1

下面的示例演示如何使用 * (乘法)函数,该函数接受一个或多个数字作为参数:

(* 2 27)
54

由于此代码示例没有周围表达式,因此 AutoLISP 将结果返回到您从中输入代码的窗口。

嵌套在其他表达式中的表达式将其结果返回给周围的表达式。

下面的示例使用 + (加法)函数的结果作为 * (乘法)函数的参数之一。

(* 2 (+ 5 10))
30

在前面的示例中,返回值 5。计算最里面的表达式后,AutoLISP 解释器会看到以下内容:(+ 5 10)

(* 2 15)
30

输入 AutoLISP 表达式

AutoLISP 表达式可以直接在 AutoCAD 命令提示符下输入,随 AutoLISP 源 (LSP) 文件一起加载,也可以在可视化 LISP 编辑器(仅限 Windows)中输入。键入左括号时,向 AutoCAD 指示应将以下文本传递给 AutoLISP 解释器进行评估。

如果输入的右括号数不正确,AutoLISP 将显示以下提示:

(_>

此提示中的左括号数表示有多少个左括号的级别保持未闭合状态。如果出现此提示,则必须输入要计算的表达式所需的右括号数。

(* 2 (+ 5 10
((_> ) )
30

一个常见的错误是省略文本字符串中的右引号 (“),在这种情况下,右括号被解释为字符串的一部分,对解析右括号没有影响。要更正这种情况,请按 Shift+Esc 取消该功能,然后重新正确输入。


路过

雷人

握手

鲜花

鸡蛋

最新评论

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

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

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

返回顶部