È possibile farlo con map
. map
può accettare più raccolte, prende l'elemento successivo da ogni raccolta e le trasferisce nella funzione passata come primo argomento (fermandosi quando una delle raccolte si esaurisce). Quindi puoi passare una funzione che accetta n argomenti e n collezioni.
L'espressione
(map str ["a" "b" "c"] ["c" "d" "e"])
chiamerà str
primo con "a" e "c", poi con "b" e "d", poi con "c" e "e". Il risultato sarà
("ac" "bd" "ce")
Da str
lattina prende un numero variabile di argomenti può essere utilizzato con qualsiasi numero di collezioni. Passando in quattro collezioni, come
(map str ["a" "b" "c"] ["d" "e" "f"] ["g" "h" "i"] ["j" "k" "l"])
valuterà a
("adgj" "behk" "cfil")
fonte
2011-10-27 21:16:43
o '(mappa str [ " "a" b" "c"] [ "c" "d" "e"]) ' –
Buona risposta. Si basa sulla conoscenza del modo in cui la mappa si occupa di più raccolte, che non sempre sembrano essere trattate in tutorial. –
@ Brian: grazie, l'ho aggiunto per rispondere al testo. –