是否有任何方式,通過該本人可以定義函數my_list
,my_cons
,my_append
執行類似的功能list
,分別cons
和append
?實現基本庫函數(手動地)
否則我可以在哪裏找到這些函數的實現?
感謝
是否有任何方式,通過該本人可以定義函數my_list
,my_cons
,my_append
執行類似的功能list
,分別cons
和append
?實現基本庫函數(手動地)
否則我可以在哪裏找到這些函數的實現?
感謝
對於my_list和my_append,該解決方案是:
(defun my_list (&rest arguments)
`(,@arguments)
)
(defun my_append (a_list an_item)
`(,@a_list ,an_item)
)
(my_append (my_list 'a 'b 'c) 'd)
我可能錯了,但我不知道任何替代方法來做成對,所以替代利弊似乎不可能。儘管如此,我對LISP世界還很陌生。
如果你想爲原生應用程序的onces,你必須先從一些原始構造一個缺點,可能是缺點或點,對你的列表是相同的,和一些拉除了細胞(汽車,cadr)。其他人可以從中建立。
如果你想重新實現的東西都是功能(雙關語意)等同,見http://en.wikipedia.org/wiki/Cons#Not_technically_fundamental
這些是「計劃」的實施。我認爲common-lisp的實現會有所不同。 – 2010-11-18 14:01:49
是的,但概念仍然適用 – 2010-11-18 14:15:06
是的,但是你能告訴我如何在不使用'list'和'append'的情況下實現'cons'嗎?我認爲實施會更加困難。 – 2010-11-18 14:16:54
你能提供一個關於代碼如何工作的簡單解釋:請參考 – 2010-11-18 14:24:39
''這意味着你將寫的下一個符號將不會被評估,這就是我們創建列表的方式。 這意味着必須評估下一個符號(只能在反引號之後使用) @從列表/對中移除項目以枚舉它們(只能在a之後使用) – 2010-11-18 14:26:22
以及什麼是' ''''''''&'是參考嗎? – 2010-11-18 14:27:38