【发布时间】:2012-12-24 14:46:09
【问题描述】:
我创建了一个函数,该函数将任意长的数字列表作为参数。从这个列表中,我希望使用let 在本地创建矩阵。矩阵将根据列表内的数字序列具有行和列。例如,
>(foo '(2 2 3) arg2 ... argn)
应该在本地创建
M1: #2a((0 0)(0 0)) M2: #2a((0 0 0)
(0 0 0))
也就是说,第一个矩阵的维度取自列表中相邻元素的前两个元素,以此类推。
我的问题是:有没有办法在let 表达式中迭代地创建任意长的局部变量集Mn?或者这是我应该使用宏的情况?
【问题讨论】:
-
什么是
arg2&c?这些是变量名吗?
标签: macros lisp common-lisp let