定義具有2個參數的函數'映射':SIMPLE列表L和一個整數值val。列表L中的每個元素都是兩個原子的列表 - 鍵和對象。該函數返回鍵值小於val的對象列表。在LISP中從另一個列表的原子構建列表
實施例: (映射「((12 K)(7 N)(23 R)(9 P))13) - >(KNP)
到目前爲止我的代碼:
(defun mapping (list val)
(if (consp list) ;;if list is not empty
(if (> val (caar list)) ;; check the first value in the first nested list
(cons (car(cdr list)));;if value is greater add that value to the return list
(mapping (cdr list) val)))) ;; recurse thru the list
我的代碼有語法錯誤以及cons語句沒有返回我期望的所有值的列表。
因爲這是一個任務,我不給一個completel回答'(缺點(汽車(CDR列表)))' - '利弊'有兩個參數。你只給一個。什麼會成爲一個好的第二個論點? – 2014-11-02 16:22:29
第二個參數應該是其值小於val的其餘鍵。 – 2014-11-02 16:31:11
對。所以你需要做出一些改變... – 2014-11-02 16:49:00