在許多Lisp實現,推是一個宏觀的這個樣子的: (push new list)
;; equal to
(setf list (cons new list))
但SETF不能修改參數,如: (defun add-item (new list)
(push new list))
不起作用,因爲函數的參數不是原始符號。 爲什麼不推的工作是這樣的: (defun my-push (
我對LISP很陌生,我試圖在類的cond語句上工作。目前,我試圖檢查傳遞的值是否是列表,如果是,請將字母d附加到列表中。 這裏是我的代碼: (defun test(L)
(listp L)
(cond ((listp L) (append L (list 'd)))
)
(write L)
)
(test (list 'a 'b 'c))
我得到的輸出是: (A B C)
(A
我試圖解決的問題是在非有向圖中找到最少數量的子樹,其中每個節點都在子樹中。 我的算法如下: make a hash as follows
key= each node,
value= all nodes directly accessible from the key node
if a node has no edges it still has a key/val