CAD开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

AutoLISP 开发指南

关于表达式(AutoLISP)

2023-1-6 14:10| 发布者: admin| 查看: 1310| 评论: 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 取消该功能,然后正确重新输入。


路过

雷人

握手

鲜花

鸡蛋

最新评论

CAD软件2007~2024远程安装服务

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

GMT+8, 2024-5-7 06:14

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

返回顶部