MINE>common-lisp-user::sym99 所以有着相同打印名称的不同符号能够在不同的包内共存。可以有一个sym在common-lisp-user包,而另一个sym在mine包,而他们会是不一样的符号。这就是包存在的意义。如果你在分开的包内写你的程序,你大可放心选择函数与变量的名字,而不用担心某人使用了同样的名字。即便是他们使用...
Lisp本身是由大量函数组成的。其语言标准中有超过四分之三的名字用于定义函数。所有内置的数据类型纯粹是用操作它们的函数来定义的。甚至连Lisp强大的对象系统也是构建在函数的概念性扩展——广义函数(generic function)之上的,第16章将会介绍它们。 而且,尽管宏对于Lisp风格有着重要的作用,但最终所有实际的功能还是由函...
在Common Lisp中,数据结构的处理异常灵活。由于Lisp语言天生支持列表处理,因此无论是简单的数组还是复杂的树形结构,都能通过简洁的语法来表达。例如,使用cl:append可以方便地合并两个列表,而cl:assoc则能高效地查找关联列表中的元素。不仅如此,Common Lisp还支持哈希表(cl:make-hash-table),这使得基于键值对的数据检索...
Unlike the loops in nearly every other programming language in use today, theLOOPin Common Lisp can be used as an expression: (let ((doubled (loop for x from 1 to 10 collect (* 2 x))) doubled) ;; ==> (2 4 6 8 10 12 14 16 18 20) (loop for x from 1 to 10 sum x) M...
Common Lisp中的素数 好吧,我只是全新的Common Lisp编程语言,我已经从昨天开始自己学习这种语言,这也是出于兴趣.现在当我遇到函数和循环时,在了解它们之后我开始开发Prime数字Common Lisp中的问题.我的代码如下: (defun prime (num) (setq c 1) (setq a 2) (loop (setq a (+ 1 a)) (if (= (mod ...
common Lisp提供了简单的单向条件when和{unif},简单的双向条件if,以及更一般的多方式条件,如cond和case。在任何特定的场合中选择哪种形式是一个品味和风格。结构对于执行具有各种作用域的非本地出口,提供了:{block、return、return from、catch和throw}。多值构造为函数返回多个值提供了一种有效的方法;请参见{values...
在Common Lisp中,你可以使用可选形参,从而使两类调用者都满意。不在意的调用者们将得到一个合理的默认值,而其他调用者们有机会提供一个指定的值。 为了定义一个带有可选形参的函数,在必要形参的名字之后放置符号&optional,后接可选形参的名字。下面就是一个简单的例子:...
Clozure CL(前称OpenMCL,简称CCL)是一款高性能的Common Lisp编程语言实现。它不仅支持Mac OS X 10.4及更高版本的操作系统,还兼容PowerPC和Intel处理器。本文将通过丰富的代码示例,帮助读者深入了解Clozure CL的特点及其应用。 关键词 Clozure CL, OpenMCL, Common Lisp, 高性能, 代码示例 ...
在Common Lisp中,你可以使用可选形参,从而使两类调用者都满意。不在意的调用者们将得到一个合理的默认值,而其他调用者们有机会提供一个指定的值。 为了定义一个带有可选形参的函数,在必要形参的名字之后放置符号&optional,后接可选形参的名字。下面就是一个简单的例子:...
;; 有很多不同的Common Lisp的实现;并且大部分的实现是一致(可移植)的。 ;; 对于入门学习来说,CLISP是个不错的选择。 ;; 可以通过QuickLisp.org的Quicklisp系统管理你的库。 ;; 通常,使用文本编辑器和“REPL”来开发Common Lisp; ;; (译者注:“REPL”指读取-求值-打印循环)。