lisp

    -1熱度

    1回答

    我在Common lisp中編程,我需要一個算法刪除具有(至少)兩個公共元素的子列表。 我不知道如何解決問題。我想使用此: (defun定義除去-重複表(列表)(刪除-重複列表:測試 '等於:鍵' CDR)) 但子列表之間的CDR是不同,以及i只是無法弄清楚我如何計算兩個元素並刪除子列表。 另外我需要不刪除的 「原始」 的子表(在本例中「(1 2 3 4))中,只有機器人(2 3 4)和(1 3

    0熱度

    1回答

    我遇到此功能的問題two-similar-p。 (defun two-similar-p (list1 list2) (mapcar (lambda (e) (mapcar (lambda (e1) (if (equal e e1) t)) list2)) list1)) 但不正確的使用mapcar,因爲這個函數返回T

    0熱度

    1回答

    我有一個關於LISP程序設計語言問題 我要做的就是讀取文件,並在文件中保存的數據。 要做到這一點,我發現這樣的功能,並執行它。 (defun get-file (pathname) (with-open-file (stream pathname) (loop for line = (read-line stream nil) while line

    0熱度

    2回答

    我的Plist如 '((:atom Toddler :visited nil :on-clauses (0 1)) (:atom Child :visited nil :on-clauses 1)) 我應如何改變在給定的:atom:onclauses財產清單?我想更新此資源,例如使第二plist (:atom Child :visited nil :on-clauses (1 2))

    0熱度

    1回答

    我要管理這種情況: (defun make-point (a b) (cons a b)) 這個函數創建笛卡爾軸上的點之一(我省略通用控件方便)。我怎樣才能實現一個功能,每次調用點時,它都會更新一個所有點被添加的列表? E.g. '() ((1.1)) ((1.1)(2.4)) ((1.1)(2.4)(4.5)) 我將需要列表作爲以下函數的參數。

    0熱度

    1回答

    你好,我對自己在文件中讀取 約在循環順序號LISP循環條件問題 我想要做的就是讀取文件並保存數據(我實現它簡單地說) 但是要做這個迭代,我不知道如何完成循環。 我只想在文件結尾到達時完成循環。 我希望在循環中使用序列號。 例如,我想每次在循環週期中將數據保存在結構s1,s2,s3,s4 .....中,但怎麼做? 它是用C語言僞代碼簡單地表達這個 int i=0; while(!= EOF){

    0熱度

    1回答

    有人可以向我解釋這段代碼的作用和工作原理嗎? (defun f (&optional (x nil) (y (if (atom x) nil (car x)))) (cond ((atom x) y) ((< (car x) y) (f (cdr x) y)) (t (f (cdr x) (car x)))))

    0熱度

    2回答

    據我所知,#' <object>是(function <object>)的縮寫。 但我注意到在應用函數中使用#'時行爲不同。 例 (apply '+ '(1 2)) => Works and give 3 (apply (function +) '(1 2)) => 3 然而 (apply '# '(1 2)) => Err!!

    1熱度

    1回答

    我使用inferior-shell:run來啓動一個長期運行的任務,它可能會經常失敗(這是一個構建驗證例程)。 我的主要問題是,我找不到一種方法來查看已啓動活動的「實時」輸出。 我想要一個活飼料的原因是因爲如果發生錯誤,我看不到輸出;我看了一下ON-ERROR:的關鍵,但是它只是說有一個退出代碼是1。這很有道理,因爲看起來這個關鍵是一個採取某種恢復操作的回調。但是,如果我的任務失敗了,我還想知道它

    0熱度

    1回答

    我需要從文件中讀取,但我在代碼中遇到了一些問題。我已經讀我的文件是這樣的:每通過#\Space或#\Tab分離線 1.0 4.5 4.555 6.43 4.0 5 ..... 6 3 2號(文件中我能有行的一個大數目)。該函數讀必須返回一個列表如下: ((1.0 4.5)(4.555 6.43)(4.0 5)...(6 3)) 我使用with-open-file,read-line