lisp 关于lisp:Elisp-10宏 上一章实现了只定义了一个函数的库 newbie.el。事实上,这个函数能够不必定义成函数,定义成宏也能够,而且能让调用代码的执行效率微不足道地更高一些。因为,调用函数,就像是去车站乘坐客车,而调用宏,犹如乘坐自家的私家车。这是一个不是很精确的比喻,所以它仅仅是个比喻。
lisp 关于emacs:emacs学习系列-emacs学习lisp各种数据类型 一、参考根本数据类型二、数值类型emacs 的数字分为整数和浮点数(1)整数的范畴能够通过 most-positive-fixnum, most-negative-fixnum2.1 进制同一个整数,能够应用 2~36进制来示意2.2 迷信计数法2.3 NaN值 not a number2.4 测试函数lisp的测试函数个别都是结尾加上 p, predicate的缩写如果函数名是一个单词通常,加上 p…
lisp 关于lisp:Elisp-09库 从第 1 章就定义了的 princ\’ 函数被我一路应用至今,我始终感觉它很有用途,特地是在我调试程序的时候。我抵赖,用这种方法调试程序很原始。不过,筷子也很原始。为了不再张贴残缺的代码之时附上它的定义,我决定建设一个 Elisp 库,用于寄存它的定义以及今后我定义的其余函数。
lisp 关于lisp:emacs学习系列-emacs学习lisp 一、参考Emacs Lisp 扼要教程二、scratch缓存区进入scratch缓存区,模式抉择 lisp-interaction-mode(注: 能够通过 m-x lisp-interaction-mode ret 切换模式)三、小试牛刀3.1 hello world {代码…} 3.2 两个执行命令(1) c-x c-e执行lisp代码的命令为 c-x c-e, 即函数 eval-last-sexp函数解释如下:执行光标之前的表达式(…
lisp 关于lisp:Elisp-08文本跨行提取 上一章:命令行程序界面在上一章的结语里,我说这个教程是否会有第二局部,取决于我是否遇到了新的文本处理问题。后果很快如愿以偿。问题上面是 XML 文件 foo.xml 的内容: {代码…} 我须要从 <attachment>…<attachment> 块里提取以下条目: {代码…} 文本跨行匹配当初假如已用 Elisp 函数 find-file 将…
lisp 关于emacs:Elisp-07命令行程序界面 很多程序是有图形界面的,就是日常所见的那些有菜单和按钮的窗口以及对话框之类。在终端里运行的程序,通常也叫命令行程序,它们也有界面,即一组选项和参数。这两种程序,各有千秋,也各有所短。
lisp 关于lisp:Elisp-06缓冲区变换 在第一章「缓冲区和文件」和第二章「文本解析」里已初步介绍了缓冲区的基本知识。应用 Elisp 语言编写文本处理程序时,充分利用缓冲区,仿佛是着实是在施展 Elisp 的一项短处。因此本章要思考和解决的一个事实问题是,缓冲区能够用来做什么。
lisp 关于lisp:Elisp-05文本匹配 正则表达式,就像现代官府捉拿江洋大盗时在城门边上张贴的通缉告示上的罪犯画像。罪犯的长相越有特点,他的画像便越有用途。我还感觉古代的机器学习程序在辨认照片里的人脸,其原理也像是在城门边上张贴通缉告示。
lisp 关于emacs:迭代 Elisp 解释器在上述程序最初一个表达式 (every-line) 求值时,会转而对 every-line 函数定义里的每个表达式进行求值,然而当 Elisp 解释器在函数 every-line 的定义里又遇到了表达式 (every-line),导致它不得不再次对 every-line 的定义里的每个表达式进行求值。该过程周而复始,在每一次重复对 every-line 的定义进行…
lisp 关于lisp:变量 上一章:文本解析上一章实现的解析器程序——当然仅仅是玩具,有几处颇为俊俏,还有一处存在着平安问题。全局变量平安第一。先从平安问题开始。察看以下代码: {代码…} 上述代码定义的这个函数可判断字符串对对象 src 的内容是否以字符串对象 dest 的内容作为结尾,例如 {代码…} 输入 t。这不是问题。问题在于假使紧接…