LISP簡(jiǎn)介
LISP是一種通用高級(jí)計(jì)算機(jī)程序語言,長(zhǎng)期以來壟斷人工智能領(lǐng)域的應(yīng)用。LISP作為因應(yīng)人工智能而設(shè)計(jì)的語言,是第一個(gè)聲明式系內(nèi)函數(shù)式程序設(shè)計(jì)語言,有別于命令式系內(nèi)過程式的C、Fortran和面向?qū)ο蟮?a href="http://www.1cnz.cn/v/tag/852/" target="_blank">Java、C#等結(jié)構(gòu)化程序設(shè)計(jì)語言。
和學(xué)習(xí)大多數(shù)其他語言一樣,學(xué)習(xí) Lisp 最好的方法就是實(shí)踐。打開您的解釋程序,和我一起編碼。Lisp 基本上是一門編譯好的語言,通過直接鍵入命令,就可以輕松地用它進(jìn)行編程。
基本上,Lisp 是一門關(guān)于列表的語言。Lisp 中的一切內(nèi)容(從數(shù)據(jù)到組成應(yīng)用程序的代碼)都是列表。每個(gè)列表都由一些原子 和列表組成,數(shù)字就是原子,鍵入一個(gè)數(shù)字僅僅會(huì)返回該數(shù)字作為結(jié)果。
LISP按功能分類
一、數(shù)學(xué)運(yùn)算功能函數(shù)
1.1(十 數(shù)值 數(shù)值…)返回:累計(jì)實(shí)數(shù)或整數(shù)數(shù)值
1.2(一 數(shù)值 數(shù)值…)返回:差值
1.3(* 數(shù)值 數(shù)值…)返回:所有數(shù)值乘積
1.4(/ 數(shù)值 數(shù)值…)返回:第一個(gè)數(shù)值除以第二個(gè)以后數(shù)值的商
1.5(l十 數(shù)值)返回:數(shù)值十l
1. 6(1— 數(shù)值)返回:數(shù)值一l
1.7(abs 數(shù)值)返回:數(shù)值的絕對(duì)值
1.8(atan 數(shù)值)返回:反正切值
1.9(cos 角度)返回:角度的余弦值,角度值為弧度
1.10(exp 數(shù)值)返回:數(shù)值的指數(shù)
1.11(expt 底數(shù)指數(shù))返回:底數(shù)的指數(shù)值
1.12(fix 數(shù)值)返回:將數(shù)值轉(zhuǎn)換為整數(shù)值
1.14(gcd 數(shù)值1 數(shù)值2)返回:兩數(shù)值的最大公因數(shù)
1.15(log 數(shù)值)返回:數(shù)值的自然對(duì)數(shù)值
1.16(max 數(shù)值 數(shù)值…)返回:數(shù)值中的最大值
1.17(min 數(shù)值 數(shù)值…)返回:數(shù)值中的最小值
1.18 pi 常數(shù)∏,其值約為3.1415926
1.19(rem 數(shù)值 1數(shù)值 2)返回:M數(shù)值的相除的余數(shù)
1.20(sin 角度)返回:角度的正旋值,角度值為弧度
1.21(sqrt 數(shù)值)返回:數(shù)值的平方根
二、檢驗(yàn)與邏輯運(yùn)算功能函數(shù)
2.1(= 表達(dá)式1 表達(dá)式2)比較表達(dá)式1是否等于式2,適用數(shù)值及字符串
2.2 (/= 表達(dá)式1 表達(dá)式2)比較表達(dá)式1是否大于等于表達(dá)式2 2.3(< 表達(dá)式1 表達(dá)式2)比較表達(dá)式1是否<小于表達(dá)式2
2.4(<= 表達(dá)式1 表達(dá)式2)比較表達(dá)式1是否<一小于等于表達(dá)式2
2.5(> 表達(dá)式1 表達(dá)式2)比較表達(dá)式1是否>大于表達(dá)式2
2.6(>= 表達(dá)式1 表達(dá)式2) 比較表達(dá)式1是否大于等于表達(dá)式2
2.7 (~ 數(shù)值)返回:數(shù)值的位 not值,(1的補(bǔ)碼)
2.8 (and 表達(dá)式1 表達(dá)式2…)返回:邏輯and的結(jié)果
2.9(boole 函數(shù) 整數(shù) 整數(shù)…)返回:位式布爾運(yùn)算
2.10(eq 表達(dá)式1 表達(dá)式2)比較表達(dá)式1與表達(dá)式2是否相同,適用列表比較(實(shí)際相同)
2.11(equal 表達(dá)式 1表達(dá)式 2[差量])比較表達(dá)式 1與表達(dá)式 2是否相同,差量可省略(內(nèi)容相同)
三、轉(zhuǎn)換運(yùn)算功能函數(shù)
3.1(angtof 字符串[模式])返回:角度值的字符串轉(zhuǎn)成實(shí)數(shù)
3.2(angtos 角度[模式[精度]])返回:角度轉(zhuǎn)成的字符串值
3.3(atof 字符串)返回:字符串轉(zhuǎn)成實(shí)數(shù)值
3.4 (atoi 字符串)返回:字符串轉(zhuǎn)成整數(shù)值
3.5 (cvunit 數(shù)值 原始單位 轉(zhuǎn)換單位)返回:數(shù)值轉(zhuǎn)換單位后的值轉(zhuǎn)換根據(jù)acad.nut文件
3.6(distof 字符串 [模式])返回:根據(jù)模式將字符串轉(zhuǎn)成實(shí)數(shù)值
3.7(itoa 整數(shù))返回:整數(shù)轉(zhuǎn)成字符串
3.8(rtos 數(shù)值 模式[精度])返回:實(shí)數(shù)轉(zhuǎn)成字符串
3.9 (trans 點(diǎn) 原位置 新位置[位移]) 返回:轉(zhuǎn)換坐標(biāo)系統(tǒng)值
四、列表處理功能函數(shù)
4.1 (append 列表 列表……) 結(jié)合所有列表成一個(gè)列表
4.2(assoc 關(guān)鍵元素 聯(lián)合列表)根據(jù)關(guān)鍵元素找尋聯(lián)合列表中關(guān)系信息
4.3 (car 列表)返回列表中的第一個(gè)元素,通常用來求X坐標(biāo)
4.4(cadr 列表)返回列表中的第二個(gè)元素,通常用來求y坐標(biāo)
4.5(caddr 列表)返回列表中的第三個(gè)元素,通常用來求Z坐標(biāo)
4.6(cdr 列表)返回:除去第一個(gè)元素后的列表
4.7(cons 新元素 列表)返回:將新元素添加到列表
4.8(foreach 名稱 列表 表達(dá)式)返回:將列表的每一元素對(duì)應(yīng)至名稱再根據(jù)表達(dá)式執(zhí)行響應(yīng)
4.9(length 列表)返回:列表內(nèi)的元素?cái)?shù)量
4.10(list 元素 元素…)返回:將所有元素合并為一列表
4.11(listp 元素)返回:判斷元素是否為一串
4.12(mapcar函數(shù) 列表1列表2…)返回:將列表1、列表2列表的元素配合函數(shù),求得新列表
4.13(member 關(guān)鍵元素列表)返回:根據(jù)關(guān)鍵元素(含似后的列表
4.14(nth n 列表)返回:列表的第n個(gè)元素
4.15(reverse 列表)返回:將列表元素根據(jù)順序顛倒過來的列表
4.16(subst 新項(xiàng)舊項(xiàng)列表)返回:替換新舊列表后的列表
五、字符串、字符、文件處理函數(shù)
5.1(ascii 字符串)返回:字符串第一個(gè)字符的“ASCII”碼
5.2 (chr 整數(shù))返回:整數(shù)所對(duì)應(yīng)的ASCII單一字符串
5.3(close 文件 名稱)關(guān)閉文件
5.4(open 文件名 模式)返回:打開文件代碼,準(zhǔn)備讀取或?qū)懭胄畔?/p>
5.5(read 字符串)返回:列表中的字符串的第一組元素
5.6(read-char[文件代碼])返回:通過鍵盤或文件中讀取單一字符
5.7(read-line [文件代碼])返回:經(jīng)由鍵盤或文件中讀取一行字符串
5.8(strcase 字符串[字樣])返回:轉(zhuǎn)換字符串大小寫
5.9(strcat 字符串1字符串2…)返回:將各字符串合并為一個(gè)字符串
5.10(strlen 字符串)返回:字符串構(gòu)成的字符數(shù)(即字符串長(zhǎng)度)
5.11(substr 字符串 起始 長(zhǎng)度)返回:取出于字符串‘
5.12(wcmatch 字符串 格式)返回:T或 nil,將字符串與通用字符進(jìn)行比較
5.13(write-char數(shù)值[文件代碼])返回:將一ASCII字符寫到文件或屏幕
5.14(write-line字符串[文件代碼])返回:將字符串寫到文件或屏幕上
評(píng)論
查看更多