【发布时间】:2011-02-08 01:30:12
【问题描述】:
我有一个 Scheme 宏和一个长列表,我想将宏映射到整个列表中,就像它是一个函数一样。如何使用 R5RS 做到这一点?
宏接受几个参数:
(mac a b c d)
列表有
(define my-list ((a1 b1 c1 d1)
(a2 b2 c2 d2)
...
(an bn cn dn)))
我想要这个:
(begin
(mac a1 b1 c1 d2)
(mac a2 b2 c2 d2)
...
(mac an bn cn dn))
(顺便说一句,如您所见,我也想拼接参数列表)
【问题讨论】:
-
我认为让您的问题更具体可能会有所帮助。
-
什么是 a1 b1 ...?它们是原子的吗?他们是代码吗?在不了解更多数据的情况下,宏 z5H 可能有最好的答案。
-
没有限制 a1 b1 ... 是什么。可以是原子,可以是列表,等等……