返回首页 - Notes - 2012

Common Lisp 基础语法


命名规则

全局变量名以 * 号包围,如 *name*

如果变量名或函数名有多个单词,则一般用 - 相连,如 my-name


函数

函数的定义形式如下

(defun 函数名 (参数列表)
 (函数主体))

全局变量

全局变量的定义:(defvar *变量名* 变量值)

Common Lisp 约定全局变量名必须以 * 号包围,所以如果有 (defvar *name* "Ruchee"),则完整的全局变量名是 *name*


格式化输出

格式化输出函数为 format,下面是部分格式符的意思

  1. ~{~}:循环格式化一个列表,这两个符号代表格式化列表的开始和结束,
  2. ~a:美化输出
  3. ~t:制表符,~3t 代表后移 3
  4. ~%:输出换行

一个 format 函数的使用示例如下

(defun dump-db ()
 (dolist (cd *db*)
  (format t "~{~a:~3t~a~%~}~%" cd)))

赋值操作

Common Lisp 使用 setf 宏实现赋值,语法格式为:(setf 第一个参数 (第二个参数))

setf 会将第二个参数的求值结果赋值给第一个参数


date : 2012-06-18