我試圖做一個函數來獲得數組之間的增量,但現在只想做一個子集:獲得第N個元素。如何在Lisp中創建數組列表,而不是它們的符號?
(defvar p1 #(1 2))
(defvar p2 #(3 4))
(mapcar '(lambda (x) (aref x 0)) '(p1 p2))
debugger invoked on a TYPE-ERROR in ...
The value P1 is not of type ARRAY.
同樣的錯誤,如果我使用make-array。
如何在一般情況下應用lambda函數或如何應用(aref x 0)
或(aref x N)
?
最後我想做一個函數返回一個delta:p2 - p1。
這個問題的標題是錯的。問題不在於獲取數組中的元素,而是關於創建數組列表而不是列表符號。 – 2009-12-10 11:18:11