我在教自己Common Lisp。我一直在看康威的生活遊戲的一個例子,並且有一段我不明白的語法。defun和defun的百分比
完整的代碼可用here。特別是部分我有麻煩如下:
(defstruct (world (:constructor %make-world))
current
next)
(defun make-world (width height)
(flet ((make-plane (width height)
(make-array (list width height)
:element-type 'bit
:initial-element 0)))
(%make-world
:current (make-plane width height)
:next (make-plane width height))))
我想知道,第一,什麼是百分號在化妝%,世界的意義是什麼?其次,爲什麼構造函數指定兩個不同的名稱? (make-world和%make-world)我曾經見過這種語法,但名稱總是相同的。它似乎有一些更深層的功能,但它逃避了我。
這有幫助;它讓我讀了兩個答案,讓它變得有意義,現在都清楚了。 –