2016-11-06 119 views
1

如果你有一个列表'((a b) (c d) (e f)),你会如何将它转换为'(a b) '(c d) '(e f),以便你可以在它前面放置任何适当的功能,如(append '(a b) '(c d) '(e f))或语法宏?这可能吗?如何将列表列表转换为列表序列?

谢谢。

回答

1

看看apply,这是一般的做法。

(apply append '((a b) (c d) (e f))) ; '(a b c d e f) 
(apply + '(1 2 3))     ; 6 
+0

嗯我已经尝试过应用,但它似乎不适用于宏模式,如'myMacro arg1 arg2 arg3'。我尝试过'应用myMacro'((a b)(c d)(e f))''。 – ludluck

+0

我对宏不熟悉。其他人可能会提供更好的答案来处理宏。 – Gibstick

+0

好的。不过谢谢你的尝试。 – ludluck

相关问题