`
deepfuture
  • 浏览: 4400494 次
  • 性别: Icon_minigender_1
  • 来自: 湛江
博客专栏
073ec2a9-85b7-3ebf-a3bb-c6361e6c6f64
SQLite源码剖析
浏览量:80078
1591c4b8-62f1-3d3e-9551-25c77465da96
WIN32汇编语言学习应用...
浏览量:70048
F5390db6-59dd-338f-ba18-4e93943ff06a
神奇的perl
浏览量:103358
Dac44363-8a80-3836-99aa-f7b7780fa6e2
lucene等搜索引擎解析...
浏览量:285815
Ec49a563-4109-3c69-9c83-8f6d068ba113
深入lucene3.5源码...
浏览量:15014
9b99bfc2-19c2-3346-9100-7f8879c731ce
VB.NET并行与分布式编...
浏览量:67565
B1db2af3-06b3-35bb-ac08-59ff2d1324b4
silverlight 5...
浏览量:32151
4a56b548-ab3d-35af-a984-e0781d142c23
算法下午茶系列
浏览量:45991
社区版块
存档分类
最新评论

lisp-局部变量和局部函数

 
阅读更多
* (flet ((add (a b) (+ a b))) (add 3 7))

10
* (let ((ja 5) (jb 1)) (* ja jb))

5
* (flet ((add (a b) (+ a b)) (sub (a b) (- a b))) (sub 12 (add 3 7)))

2

 let定义局部变量 flet定义局部函数

分享到:
评论

相关推荐

    lisp代码-定义变量

    在这里,`local-func`是一个局部函数,`multiplier`是一个局部变量。 LISP的变量管理还包括变量的动态绑定特性,这意味着变量的值可以在运行时改变,这种特性使得LISP非常适合实现某些高级编程概念,如宏和闭包。 ...

    Lisp函数参考大全中文版_lisp大全pdf_Lisp函数参考大全中文版_

    7. **特殊形式**:Lisp有一些特殊形式,如` progn`用于执行一系列表达式,`quote`用于防止表达式的求值,以及`let`和`let*`用于局部变量绑定。 8. **迭代和循环**:Lisp提供多种循环结构,如`dotimes`用于基于次数...

    emacs lisp函数手册,版本24.3

    - **局部变量与全局变量的区别**。 - **变量的作用域**。 - **如何声明和使用变量**。 #### 十二、函数 - **定义函数的方法**。 - **参数传递**:包括位置参数和关键字参数。 - **递归函数**:如何编写递归函数。 ...

    lisp-notes:Common Lisp 的示例代码库

    局部变量和函数 局部变量 局部函数 更多关于函数 Lambda 表达式 功能参数 多个值 申请和Funcall 映射函数 更多关于列表 列出函数 推动、弹出和反向 关联列表 更多关于序列 数组 序列函数 关键字参数 数据结构 哈希...

    lisp-c:用C编写的简单Lisp

    Lisp中的变量和函数名是符号,需要一个符号表来存储和查找这些符号。C语言中,可以使用哈希表或链表来实现符号表,以便高效地进行符号查找和绑定。 5. **环境与闭包** Lisp支持动态作用域和静态作用域,C实现时...

    emacs-lisp编程入门

    1. `C-h f` 和 `C-h v`:内置的帮助命令,分别用于查看函数文档和变量文档。 2. `edebug`:Emacs的内置调试器,用于追踪和调试Elisp代码。 通过深入学习Emacs Lisp,你可以充分利用Emacs的强大功能,从简单的...

    common-lisp-cookbook-examples:常见Lisp食谱中的示例

    2. **局部变量**:`let`和`let*`用于创建局部作用域。 **六、宏系统** 1. **宏定义**:`defmacro`用于创建新的语言构造。 2. **宏展开**:宏在编译时展开为普通代码,提供代码生成的能力。 **七、面向对象编程** 1...

    AutoLisp Vlisp 函数

    9. `(let ((var1 val1) ...) body)`:局部变量绑定。在body的执行范围内,var1被绑定到val1,依此类推。 10. `(setq *var* value)`:在Vlisp中,星号(*)用于表示全局变量。这与AutoLisp中的普通变量不同,全局变量...

    CAD二次开发Visual_LISP指南

    - 局部变量的作用范围仅限于定义它的函数内部。 - 有助于提高代码的安全性和可维护性。 - **3.1.2 检查gp:getPointInput函数** - 该函数用于获取用户的输入点坐标。 - 需要注意变量作用域的问题。 - **3.2 ...

    An_Introduction_to_AutoLISP

    课程还引入了局部变量和全局变量的概念,并以一些家庭作业问题结束,以测试学员对文本的理解。 #### AutoLISP是什么? AutoLISP是一种编程语言,它允许用户根据自己的独特需求定制AutoCAD。它是LISP(列表处理器)...

    visual+lisp开发人员手册.rar_certainly679_lisp_pressure46z_visual lisp

    - 学习如何利用动态绑定和局部变量来控制程序的执行流程。 6. **最佳实践与资源** - 开发过程中,遵循良好的编程习惯,如注释代码、模块化设计和测试驱动开发,能帮助提高代码质量。 - 阅读《Visual Lisp开发...

    收集的lisp源码

    `let`用于局部变量绑定,`setq`用于设置变量值,`funcall`则是用来调用函数,即使这个函数是一个变量。 此外,Lisp的垃圾回收机制和动态内存管理使得开发者无需关心内存分配和释放,极大地简化了程序设计。源码中...

    Advanced AutoLISP Programming.pdf

    总结来说,通过这份资料的摘录,我们可以了解到AutoLISP编程中的一些高级概念,包括模块化编程、局部变量的使用、以及函数的定义和调用。掌握这些概念对于编写高效、可维护的AutoLISP程序至关重要。同时,这些知识的...

    常用LISP

    - **LABELS**: 定义局部函数。 3. **函数定义** - **DEFUN**: 定义一个新的函数。 - **FUNCTION**: 返回函数对象本身,而非执行函数。 4. **宏** - **MACRO**: 定义宏,允许创建新的语法结构,扩展语言的功能。 ...

    [Lisp相关文档].Lisp.Quick.Reference

    - 例如:`(let ((x 10)) (+ x 1))` 返回11,表示局部变量的作用域。 #### 9.3 Functions 函数 - Lisp中的函数可以作为第一类公民,即可以赋值给变量、作为参数传递等。 - 例如:`(defun square (x) (* x x))` 定义...

    Common lisp入门教程

    `let` 用于定义局部变量,作用范围仅限于 `let` 所包围的代码块内。 - **引用与赋值**: - `setq` 用于赋值操作,`setf` 是更通用的赋值函数,支持多种类型的赋值。 #### 四、推荐学习资源 - **书籍推荐**: - ...

    Robert Chassell:An Introduction to Programming in Emacs Lisp

    Emacs Lisp支持动态变量和局部变量,允许在不同的作用域中定义和使用变量。 **Error Message for a Symbol Without a Value** 当你试图引用一个未定义或未赋值的符号时,Emacs Lisp会抛出错误。例如: ```lisp ...

    lisp的环境

    - **动态作用域与闭包**:Lisp默认使用动态作用域,变量的值可以在运行时改变,而闭包则提供了一种封装局部状态的方式。 5. 在人工智能中的应用: Lisp在AI领域的应用广泛,因为它的表达能力和灵活性适合处理复杂...

Global site tag (gtag.js) - Google Analytics