AutoLisp語言的特點
引用自翰林苑的個人博客
AutoLisp語言是一種函數式語言,一切都以函數給出,沒有語句的概念和語法結構。
AutoLisp語言是表處理語言,函數的調用是通過表來完成的。表通過圓括號()來定義。
AutoLisp的程序和數據都是表結構,所以程序可以當作數據來處理,數據也可以當作程序來處理。
什么是列表(表和點對)?
表
在AutoLisp語言中,表是一種基本的數據類型,它有以下特點:
- 表是指放在一對匹配的左、右圓括號中的一個或多個元素的有序集合。
- 表中的每一個元素可以是任何類型的S-表達式,既可以是數字、符號、字符串,也
可以是表。 - 表中元素與元素之間至少要用一個空格隔開,而元素與括弧之間可不用空格。
- 表是可以任意嵌套的。從外層向里依次稱為 0 層(也稱頂層)、1 層、2 層、…
- 表中元素是有順序的,每個元素都有一個序號。第一個元素的序號為0,第n個元素的序號為n-1。
- 表的大小為表的長度,即表中頂層元素的個數。
- 表有兩種基本類型:標準表和引用表。
a. 標準表是 AutoLISP 程序的基本結構形式,AutoLisp程序就是由標準表組成的。標準表是用于函數的調用,其中第一個元素必須是系統(tǒng)內部函數或用戶定義的函數,其他的元素為該函數的參數。例如:
(setq x 25.0)
b.引用表:這種表第一個元素不是函數,即不作為函數調用,常作為數據處理,在程
序中以如下兩種形式存在:
'(a d b)
(quote (a d b))
點對
點對也是一種表,該表中只有兩個元素,兩元素中間為一圓點.,且圓點與元素之間必須用空格分開。