感觉突然接触了这么多的宏定义和函数有点措手不及,稍微整理了一下,不敢独享拿出来晒晒(PS:这两天没有雾霾心情特别好)
DEFUN 定义表达式
FORMAT函数 接受变长参数,但是只有两个必要擦数,分别代表着发送输出的位置以及字符串。 P12 P20
LOAD函数 加载一个文件(使用cd命令指定当前目录) P15
COMPILE-FILE 编译产生FASL文件返回FASL文件名 P15
LIST函数 创建一个属性列表 P18
GETF函数 接受一个pisl和一个符号并返回plist中跟在那个符号之后的值 P18
DEFVAR宏 定义变量 P19
PUSH宏 为变量添加新的项 P19
DOLIST宏 在所有元素上循环 P20
FORECE-OUTPUT 确保lisp在打印信息之前不会等待换行 P21
READ-LINE函数 读取单行文本 P21
PARSE-INTEGER函数 判断是否是integer(关键字参数:junk-allowed ) P22
OR宏 接受一系列表达式,依次求值,然后返回第一个非空的值(或者空值,如果他们全部为空) P22
Y-OR-N-P函数 等待输入命令返回真/假结果 P22
LOOP宏 不断执行一个表达式,最后通过RETURN退出 P22
WITH-OPEN-FILE宏 打开一个文件将文件流绑定到一个变量上,执行一组表达式,然后关闭这个文件(:direction :output 指定了正在打开一个用于写入的文件 :if-exists :supersede 说明当存在同名的文件时想要覆盖已存在的文件) P23
PRINT 将lisp对象打印成一种可以被lisp读取器读出来的形式 P23
WITH-StANDARD-IO-SYNTAX宏 确保那些影响PRINT行为的特定变量可以被设置成它们的标准值 P23
READ函数 从流中读入 P24
REMOVE-IF-NOT函数 接受一个为谓词和一个原始列表,然后返回一个仅包含原始列表中匹配该谓词的所有元素的列表 P24
EVENP函数 当参数是偶数时返回真 P25
#‘记号 获取函数其名如下 P25
LAMBDA 单词lambda后面紧跟着行参列表然后是函数体 P25
MAPCAR函数 其映射在列表上,然后返回一个新的列表,其中含有在原来列表的每个元素上调用一个函数所得的结果 P28
SETF函数 用于各种“位置”变量赋值 P28
REMOVE-IF函数 所返回列表中,所有确实匹配的元素都被删掉 P29
REVERSE 接受一个列表作为参数并返回一个逆序的新列表
DEFMACRO 宏定义 P30
POP宏 执行与PUSH宏相反的命令
MACROEXPAND-1 精确查看调用了哪些代码