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