C'è un modo per rimuovere elementi in un elenco annidato digitando tale che (1 [2] 3 (4 [5] 6)) diventa (1 3 (4 6)) se voglio rimuovere solo i vettori?Come posso rimuovere un elemento per tipo da un elenco o vettore annidato in Clojure?
Utilizzando la passerella, posso sostituire tutti i vettori con zero, ma non riesco a trovare un modo per rimuoverli.
(clojure.walk/postwalk
#(if (vector? %) nil %) '(1 [2] 3 (4 [5] 6)))
=>(1 nil 3 (4 nil 6))
Questo sembra esattamente quello che stavo cercando. Non mi è venuto in mente che potevo svolgere una funzione solo sulle sottostrutture. Grazie. – dansalmo