所以,假设我在离散数学的世界里工作,我有一些函数
f: A x B x C -> D。
有了这个函数,我就可以进行像f(a,b,c) = d这样的计算。(我故意在这里含糊其辞)。
现在假设我想用一些现代的OO编程语言显式地实现这个计算。因此,我用a和c初始化了一个名为ClassA类的b等变量。然后呢?应该拥有哪个对象的计算?或者它可能是一个初始化器。它会是一个静态函数吗?
我本可以:
d = a.f_1(b,c),
d = b.f_2(a,c),
d = c.f_3(a,b),
d = new ObjD(a,b,c),
d = ZStatic.f_4(a,b,c)
我有:
(defmacro test (a b c)
`'(,a ,b ,c))
运行(test apple banana cuba)会像预期的那样给出(APPLE BANANA CUBA)。
如何使宏生成APPLEBANANACUBA?
我试过:
(defmacro test (a b c)
`'(,a,b,c))
但是运行(test ant bites chris)仍然返回(ANT BITES CHRIS)作为三个单独的args的列表。
我试过变体,但似乎都没有用。就像这个:
(defmacro test (a b c)
`(apply #&