AutoLISP

基础——认识自定义函数

(

本文由

LL_J

‚认识自定义函数‛和‚

Autolisp

编程心得‛两篇巨著合成,

并融入了其他人的一些经验,以快速打通你的任督二脉

——自贡黄明儒注

)

一、

初识

Lisp

AutoCad

命令输入

(+ 1 2 3)

,回车返回

6

,如下

命令

: (+ 1 2 3)

6

恭喜你,你已经会写

Lisp

程序了。这里,我们用到了一个系统定义的

函数

+

,这个函数的作用就是对后面的数字求和。

上式一对英文括号组成的表达式,称之为表,

Lisp

语言也称为表的语

言。表有两种形式,一种是‚口袋式‛表;一种是‚函数式‛表。前者

如’(0 0)表示一个

2

维点,前面加’表示此表不求值。如果不加‘,则通

常是认为是‚函数式‛表。‚函数式‛表如下:

结构特点:左括号

(

紧跟

函数,函数所需要的参数,右括号

)

结束

函数是指:系统定义的函数、自定义的函数、匿名函数

lambda

。如

((lambda(x y z) (* x y z)) 3 4 5)

是合理的。

参数可以是:数字(整数、实数)、字符串、

T

nil

、表(如果此

表是表、函数,就构成了复杂表,这就是

lisp

程序)、函数。

表可以作为函数的参数。如

(+ 1 (- 5 2) 3)

中,表

(- 5 2)

就作为

+

函数

的参数。

表的返回值也可以传递给其它变量,如

(setq x (+ 1 2 3))

接受输入参数,如

(- 5 2)

中,

-

函数接受

5

2

两个参数。

二、

什么是函数

函数一词最早来源于数学,维基百科这样说:函数是将唯一的输出

值赋予每一输入的

"

法则

"

以及该输出值与对应输入值的集合。

在计算机领域,对函数并没有一个完整的定义,百度百科有这样一

句话:

"

许多程序设计语言中,可以将一段经常需要使用的代码封装起

来,在需要使用时可以直接调用,所以,函数也可以说是许多代码的集

合,这就是程序中的函数。

综合以上描述,我们可以看到

"

函数

"

的基本组成:

输入值:一般称为参数;

表达式:函数体,是代码的集合,共同组成上面所说的

"

法则

"

柱底反力求和lisp软件_AutoLISP 基础——认识自定义函数相关推荐

  1. 柱底反力求和lisp软件_AutoLISP详细讲解

    AutoLISP 详细讲解 关于 AutoLISP AutoLISP 是由 Autodesk 公司开发的一种 LISP 程序语言( LISP 是 List Processor 的缩 写) . 第一篇关 ...

  2. 柱底反力求和lisp软件_MIDAS软件常见提问与解答

    1.>动力分析反应谱分析时是要将自重转化为质量的 >但稳定分析要不要将自重转化为质量? >稳定分析要用到质量矩阵吗? 屈曲分析不需要质量矩阵,所以稳定分析不需要将荷载转化为质量. 前 ...

  3. GO基础编程-自定义函数

    想知道更多关于区块链技术知识,请百度[链客区块链技术问答社区] 链客,有问必答!! 定义格式 函数构成代码执行的逻辑结构.在Go语言中,函数的基本组成为:关键字func.函数名.参数列表.返回值.函数 ...

  4. Python基础教程:自定义函数

    函数的形式: def name(param1, param2, ..., paramN):statementsreturn/yield value # optional 和其他需要编译的语言(比如 C ...

  5. matlab写函数教程,【Matlab基础】 自定义函数

    函数--是编程的核心概念之一,是能够完成相对独立功能的代码封装成的模块. 在主程序中通过函数名和实参调用它,通过接口(即函数的输入.输出参数)来实现"通讯".所以在调用函数时,你只 ...

  6. php基础教程 第九步 自定义函数

    自定义函数 在之前的课程我们有使用到php的系统函数,这些函数由系统定义.在开发中,有时候系统自带的函数满足不了我们开发时(或其它情况),我们可以自定义函数.顾名思义,自定义函数就是自己定义函数. 自 ...

  7. 《软件需求分析(第二版)》第 1 章——软件需求基础知识 重点部分总结

    文章目录 前言 一.单选题 二.填空题 三.判断题 四.简答题 总结 前言 软件需求分析就是把软件计划期间建立的软件可行性分析求精和细化,分析各种可能的解法,并且分配给各个软件元素.需求分析是软件定义 ...

  8. 编程软件python-零基础学Python编程需要安装什么软件?

    前言 Python现在非常火,语法简单而且功能强大,很多同学都想学Python!所以小的给各位看官们准备了高价值Python学习视频教程及相关电子版书籍,都放在了文章结尾,欢迎前来领取! 今天想要跟大 ...

  9. 设计模式:可复用面向对象软件的基础

    文章目录 设计模式 设计模式有4个基本要素 23个设计模式 设计模式分类 目的准则 范围准则 导致重新设计的一般原因,以及解决这些问题的设计模式举例 设计模式所支持的设计的可变方面 设计模式背后的6大 ...

最新文章

  1. ICLR 2019计算机视觉、NLP、图模型、对抗学习、表示学习和元学习
  2. 【D3.V3.js系列教程】--(十四)有路径的文字
  3. 小学计算机应用到英语课教案,信息技术与PEP小学英语三年级学科整合交流课例...
  4. h5页面如何预览excel文件_移动端页面,如何解析预览 word/excel/PDF文件?
  5. IDS与IPS的区别(HIDS、NIDS)
  6. Vision Transformer中的自监督学习
  7. numpy 数据类型与 Python 原生数据类型
  8. VB小技巧:字符变量中双引号的输入
  9. css悬浮在某个span后面,在contenteditable div中的span元素后面设置光标
  10. 学生选课管理系统c语言程序报告,学生选课管理系统c语言程序
  11. 数据结构题集c语言版答案严蔚敏第二章,数据结构习题集答案(C语言版严蔚敏)2(可编辑).doc...
  12. java stringbuilder 构造函数_java中stringBuilder的用法详解
  13. 智能电话机器人--基于 UniMRCP 实现讯飞 ASR MRCP Server
  14. 华硕无畏15i 2023评测 华硕无畏15i 2023值得入手吗
  15. JDBC的操作步骤和实例
  16. 五角星符号怎么打出来
  17. 系统安装-SSD装win8.1操作指南(win7相同,内含win8、win7的iso镜像文件下载地址)
  18. java对图片进行压缩处理
  19. 历经5年,一次业余网页游戏项目惨痛的失败经历
  20. 宝泉岭计算机学校,2020年黑龙江计算机二级考点有哪些

热门文章

  1. 学习面向对象思想,开始考虑通过封装、 继承、多态把程序的耦合度降低
  2. Jmeter_模板设置默认请求参数
  3. spark 源码分析之八--Spark RPC剖析之TransportContext和TransportClientFactory剖析
  4. js:基于原生js的上啦下啦刷新功能
  5. 那些年我们跳过的 IE坑
  6. BZOJ4819: [Sdoi2017]新生舞会
  7. 对于response.setContentType(MIME)的解释
  8. SaltStack 模块学习之拷贝master服务器上文件和目录到minion服务器
  9. validform 一行代码完成所有验证
  10. 使用RMAN备份数据库和归档日志合二为一