Common Lisp新手。編寫lisp代碼與編寫C++/java完全不同,就像我之前寫的那樣。寫一個簡單的矩陣類在普通的lisp練習
我想寫一個簡單的矩陣類在普通的lisp練習。有些代碼這樣的:
(defun make-matrix (row col)
(make-list row :initial-element (make-list col :initial-element nil)))
(defun init-matrix (matrix init-value)
(labels ((set-element-value (lst)
(if (and lst
(listp lst))
(mapcar #'set-element-value lst)
(setf lst init-value))))
(set-element-value matrix)))
(defun matrix+ (&rest matrices)
(apply #'mapcar (lambda (&rest rows)
(apply #'mapcar #'+ rows)) matrices))
我的問題是我能寫一個矩陣+接受不同數量的不「適用」的論點,或者更好的辦法?在某種程度上,lisp應該是?
如何矩陣*,可以有人向我展示一些令人敬畏的代碼接受矩陣*中的任意數量的參數?謝謝。
@wvxvw稍後我會看一看。 – Boris 2012-07-12 15:26:44