Fork me on GitHub
#clojure-italy
<
2017-05-09
>
reborg08:05:02

Una soluzione non particolarmente robusta: (map first (reductions #(split-at %2 (last %1)) [[] coll] (conj ats (last ats))))

reborg12:05:55

mi hanno cannato il talk ad euroclj 😢

bronsa12:05:52

su cos'era?

bronsa12:05:02

(non ho ben capito i requirement del problema di ieri)

mdallastella12:05:21

@bronsa da quel che ho capito io, il primo vettore detta le "regole" per lo split: [1 2 3] -> splitta per 1, per 2 e il resto per 3

mdallastella12:05:01

magari mi sbaglio

bronsa12:05:06

assumo che se fosse stato (split-at-multiple [1 2 3] [1 2 3 4 5 6 7 8 9 10]) il risultato sarebbe [(1) (2 3) (4 5 6) (7 8 9 10)] quindi?

bronsa12:05:21

e.g. l'ultimo item e` quel che rimane della collection

bronsa13:05:21

mi son lasciato prendere dalla vena artistica

bronsa13:05:42

(defn split-at-multiple [ats coll]
  (->> ats
       (reduce (fn [rs i] (into (pop rs) (split-at i (peek rs)))) [[] coll])
       rest))

reborg19:05:33

@bronsa molto bella. Evita alcuni accrocchi che avevo io e si legge decisamente meglio 🙂