作者MAJESTY949 (想你的季節)
看板TTU-I90B
標題[公告] LISP更正及重點
時間Mon Jun 14 23:39:46 2004
1.二元結合
(CONS 'A '(B C)) 把A這個ATOM加入BC這個串列 答案為 (A B C)
即 (CONS
ATOM (LIST))
^^^^ ^^^^
限定ATOM LIST限定
2.多元結合
(APPEND '(A)'(C D)'(E F G)) 答案為 (A C D E F G)
即(APPEND LIST LIST LIST ...................)可以很多個LIST
多元結合,必須全都是LIST,只有一個字,例如'A
(ATOM),也要寫成'(A)
(LIST)
3.設定
(setq k (+ k 1)) 令 k = k+1
(setq words '((張維高 畜生) (麻糬憲 甲攬) (磊哥 麥當勞) (小賴 TKB))
上面這是建立一個表格 只要打入張維高用
ASSOC搜尋就會出現(張維高 畜生)
SETQ 就是拿來宣告用的,不過只能拿來宣告變數和table,宣告function要用defun
4.
(RPLA
CA E1 E2) 把E1的CAR用E2代替
(RPLA
CD E1 E2) 把E1的CDR用E2代替
例: E1='(A B C D) E2='(1 2 3 4)
(RPLA
CA E1 E2) => '(1 2 3 4 B C D)
(RPLA
CD E1 E2) => '(A 1 2 3 4)
5.
(SUBST E1 E2 E3) 把E3中的E2用E1代替
例: E1='(A B) E2='(1 2) E3='(1 2 3 4 1 2)
(SUBST E1 E2 E3) => '(A B 3 4 A B)
6.
DEFUN 定義一個函數 這個要當面問.........................
7.
COND 這個更複雜 也要當面講
以下這些用法自己看,看不懂去撞牆.......或明天問我
CAR 取串列中第一個字
CDR 取串列中第一個字之外的所有字
QUOTE 定義本身就是本身,本身就是一個定數而不是變數
'就是QUOTE
EQ 判斷是否兩數相等(且兩數皆須為ATOM)
ATOM 判斷是否是ATOM
NULL 判斷是否為空
PLUSP 判斷是否是正數
MINUSP 判斷是否是負數
FIXP 判斷是否是整數
ROUND 4捨5入
LISTP 判斷是否是個LIST
LIST 連結兩個部分(可以是LIST或ATOM,不限定)結合成一個
只有2個ATOM的LIST
CADR 先取CDR再取CAR,由後往前
CDADR 先取CDR再取CAR再取CDR,由後往前
CDDDR 幾個D就取幾次
REVERSE 倒過來寫
NTHCDR X X是數字,取串列中第X個字之後的所有ATOM,且不含第X個字
PRINT 先換行再輸出資料然後再空一格
TERPRI 只會換行
PRINC 只輸出資料,不換行不空格
先這些吧 有問題再問
--
無可救藥愛上你
有誰能做我的安眠藥 有誰能讓我的靈魂好好睡個覺 空氣中妳的味道 散落在每個街角
擦不掉 腦海有太多疼痛記憶 天使的笑容打亂回憶的軌道 囚禁在妳的依靠
像沒有效的解藥 睡不著 我在這個空間 轉來轉去只剩下黑眼圈 往事不斷重複出現
沒有你我睡不著 忘記你我做不到 愛妳無可救藥 沒有你我睡不著 街上隨便跑
想找到有妳的街道 我像隻狗 在尋找 我像笨蛋 忘不掉 誰讓我休息一下
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.64.144.152
推 wayknife:補充(cons 'a 'b) --> (a b) 網路上查的 203.204.70.76 06/15
→ wayknife:還有(list 'a 'b 'c) ==> (a b c) 203.204.70.76 06/15
→ wayknife:導的好像把list 跟 append弄反了跟我在網 203.204.70.76 06/15
→ wayknife:路上查的不一樣 203.204.70.76 06/15
推 going100:辛苦啦 218.167.164.50 06/15