条件语句
if基本结构
(if 条件判断表达式
(条件为真时执行的语句,只能有一句)
条件为假时执行的语句,可以有多句)
例如:
(if (< 3 4)
(message "3 is less than 4")
(message "First false line")
(message "Second false line"))
如果你的true部分有多句,使用progn进行包裹。
when语句
when相当于没有else的if语句,但是可以包含多条执行语句。
unless语句
unless是when的相反判断。使用方法一样。
cond语句
有点类似于c或者其他语言的switch,形如:
(setq a 1)
(cond ((eq a 1) "One")
((eq a 2) "Two")
((eq a 3) "Three"))
循环
while循环
与一般的语言的while没有区别。
dotimes
(dotimes (count 5)
(message "%d" count))
dolist
遍历列表使用。
(dolist (item '(1 2 3 4 5))
(message "%d" item))
递归
递归很多时候使用起来非常方便。但递归有风险(爆栈),使用需谨慎。