1
如果你有一個列表'((a b) (c d) (e f))
,你會如何將它轉換爲'(a b) '(c d) '(e f)
,以便你可以在它前面放置任何適當的功能,如(append '(a b) '(c d) '(e f))
或語法宏?這可能嗎?如何將列表列表轉換爲列表序列?
謝謝。
如果你有一個列表'((a b) (c d) (e f))
,你會如何將它轉換爲'(a b) '(c d) '(e f)
,以便你可以在它前面放置任何適當的功能,如(append '(a b) '(c d) '(e f))
或語法宏?這可能嗎?如何將列表列表轉換爲列表序列?
謝謝。
看看apply
,這是一般的做法。
(apply append '((a b) (c d) (e f))) ; '(a b c d e f)
(apply + '(1 2 3)) ; 6
嗯我已經嘗試過應用,但它似乎不適用於宏模式,如'myMacro arg1 arg2 arg3'。我嘗試過'應用myMacro'((a b)(c d)(e f))''。 – ludluck
我對宏不熟悉。其他人可能會提供更好的答案來處理宏。 – Gibstick
好的。不過謝謝你的嘗試。 – ludluck