2016-11-06 161 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