lisp函數(shù)大全詳解
AutoLISP提供了大量的預(yù)定義函數(shù)。若將函數(shù)名(大小寫都可)作為表中的第一個元素函數(shù)變元(若有的話)作為表中后面的元素,就可以調(diào)用那個函數(shù)。本章按字母順序列出AutoLISP所有基本函數(shù)。用戶會發(fā)現(xiàn)其中許多函數(shù)都是標(biāo)準(zhǔn)函數(shù),可在LISP程序設(shè)計(jì)語言中找到。還有一些函數(shù)是由 AutoCAD提供的且專用于交互圖形環(huán)境。
1 FLATLAND 系統(tǒng)變量--與老版本的兼容性
AutoLISP版本10支持AutoCAD的最新增強(qiáng)型三維圖形功能,則時繼續(xù)保證與AutoCAD 老版本的兼容性。FLATLAND系統(tǒng)變量就是用來控制該兼容性的。當(dāng)FLATLAND為零時,實(shí)現(xiàn)新三維功能;否則各函數(shù)操作與AutoLISP版本9的一樣。FLATLANDR的設(shè)置作用于下列
AutoLISP函數(shù):
DISTANCE GRREAD POLAR
ENTGET INITGET TBLNEXT
GETDIST INTERS TBLSEARCH
GETPOINT OSNAP
在各函數(shù)說明中,已注明FLATLAND對上述函數(shù)起作用的方式。
2 ( + 《數(shù)》 《數(shù)》 。。。)
這個函數(shù)返回所有《數(shù)》的總和。其中的《數(shù)》可以是整型或?qū)嵭偷?。如果所有的《?shù)》都是整數(shù),其結(jié)果也是整數(shù);如果其中有一個是實(shí)型的,那么其它整型數(shù)將轉(zhuǎn)換為實(shí)型
數(shù)結(jié)果將是實(shí)型數(shù)。例如:
(+ 1 2) returns 3
?。? 1 2 3 4.5) returns 10.5
(+ 1 2 3 4.0) returns 10.0
3 ( - 《數(shù)》 《數(shù)》 。。。)
這個函數(shù)把第一個《數(shù)》減去第二個《數(shù)》,返回它們的差。如果給定的《數(shù)》多于兩個,那么將第一個《數(shù)》減去其后所有數(shù)之和,并返回最后的結(jié)果。如果只給了一個《數(shù)》,即返回零減這個《數(shù)》的結(jié)果。此函數(shù)中的《數(shù)》可以是實(shí)型或整型,按標(biāo)準(zhǔn)規(guī)則進(jìn)行類型轉(zhuǎn)換。
例如:
?。? 50 40) returns 10
?。? 50 40.0 2) returns 8.0
(- 50 40.0 2.5) returns 7.5
?。? 8) returns -8
4 (* 《數(shù)》 《數(shù)》。。。)
這個函數(shù)返回所有《數(shù)》的乘積。其中《數(shù)》可以是實(shí)型或整型。按標(biāo)準(zhǔn)規(guī)則進(jìn)行類型轉(zhuǎn)換
例如:
?。? 2 3) returns 6
(* 2 3 4.0) returns 24.0
?。? 3 -4.5) returns -13.5
5 (/ 《數(shù)》 《數(shù)》。。。)
這個函數(shù)將第一個《數(shù)》除以第二個《數(shù)》,返回其商。如果給出的《數(shù)》多于兩個,則把第一個《數(shù)》除以其它所有《數(shù)》的乘積,并返回最后的商。此函數(shù)中的《數(shù)》可以是實(shí)型或整型,類型的轉(zhuǎn)換按標(biāo)準(zhǔn)規(guī)則進(jìn)行。例如:
?。? 100 2) returns 50
(/ 100 2.0) returns 50.0
?。? 100 20.0 2) returns 2.5
(/ 135 360) returns 0
?。? 135 360.0) returns 0.375
6 (= 《原子》 《原子》。。。)
這是“等于”關(guān)系函數(shù)。如果所有指定的《原子》在數(shù)值上是相等的,則返回T;否則返回空(nil)。這個函數(shù)適用于數(shù)和字符串。例如:
?。? 4 4.0) returns T
?。? 20 388) returns nil
(= 2.4 2.4 2.4) returns T
?。? 499 499 500) returns nil
?。? “me” “me”) returns T
(= “me” “you”) returns nil
7 (/= 《原子1》 《原子2》。..)
這是一個“不等于”關(guān)系函數(shù)。如果《原子1》數(shù)值上不等于《原子2》,則返回T;否則返回nil,如果提供的《變元》多于兩個,則函數(shù)無定義。例如:
?。?= 10 20) returns T
(/= “you” “you”) returns nil
?。?= 5.43 5.44) returns T
8 (《 《原子》 《原子》。。。)
這是一個“小于”關(guān)系函數(shù)。如果第一個《原子》值小于第二個,則返回T;否則返回nil,如果所給的《原子》多于兩個,那么當(dāng)每個《原子》都小于其右邊的《原子》時,則返回T.
例如:
?。ā?10 20) returns T
(《 “b” “c”) returns T
?。ā?357 33.2) returns nil
(《 2 3 88) returns T
?。ā?2 3 4 4) returns nil
9 (《= 《原子》 《原子》。。。)
這是一個“小于或等于”關(guān)系函數(shù)。如果第一個《原子》值大于或等于第二個原子,則返回T;否則返回nil.如果所給的《原子》多于兩個,則當(dāng)每一個《原子》都小于或等于其右邊的《原子》時,才返回T.例如:
?。ā? 10 20) returns T
(《= “b” “b”) returns T
?。ā? 357 33.2) returns nil
(《= 2 9 9) returns T
?。ā? 2 9 4 5) returns nil
10 (》 《原子》 《原子》。。。)
這是一個“大于”關(guān)系函數(shù)。如果第一個《原子》值大于第二個,則返回T;否則返回nil,若所給定的《原子》多于兩個,當(dāng)每個《原子》都大于其右邊的《原子》時,則返回T. 例如:
?。ā?120 17) returns T
(》 “c” “b”) returns T
?。ā?3.5 1792) returns nil
?。ā?77 4 2) returns T
?。ā?77 4 4) returns nil
電子發(fā)燒友App















評論