普通的 lisp 新手。编写 lisp 代码与编写 c++/java 完全不同,正如我之前编写的那样。
我正在尝试在 common 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 应该是?
矩阵*怎么样,有人可以给我看一些很棒的代码,接受矩阵*中的任意数量的参数吗?谢谢。