Lisp 编程/概述
外观
< Lisp 编程
概述?好吧,赶紧看看了解基本情况;
(defun ! (x) ; Defines a factorial function denoted by the exclamation mark symbol. (if (> x 0) (* x (! (- x 1))) 1))
尾递归... 创建阶乘函数。
(setf this '(hello world opps goodbye)) (car this) => hello (cdr this) => (world opps goodbye) (cadr this) => world (cdar this) => probably an error
列表,是 lisp 的名称由来,以及了解 lisp 的几个功能。
如必须的话,你也可以执行
(setf ... same... (first this) => hello ... (second this) => world
但是你不能组合它(例如做 car cdr 变为 cadr)
以及,宏...
(defmacro when (cond &body body) (if (cond) (progn ,@body)))
此时,我们已经开始深入了解它,但是,天哪!
(defun do-nothing (anargument :key akeywordargument :opt anoptionalargument :rest everythingelseinalist))
我无法想出一种方法,把所有四种函数参数都整合到一起(你不能这么做,而将其中两个以上结合起来通常是个馊主意。)
还有 CLOS(通用 lisp 对象系统)以及很多其他你可能应该了解的东西,但如果你真的想知道,你最好仔细学习一个好教程。
所以,嘿,这是 lisp 类似的大概的样子。祝你 lisping 愉快!