un momento di confusione con le macros
(def fn-names ["go" "fill" "fill-active"])
(def fns (into {}
(for [f fn-names]
{f (resolve (symbol (string/join "/" ["etaoin.api" f])))})))
(defmacro def-all
[]
(doseq [[n f] fns]
`(def ~(symbol n) (partial ~f *driver*))))
(def-all)
questo dovrebbe definire 3 defs ma non fa nulla. Se tolgo il doseq e ne definisco una sola allo stesso modo funziona
praticamente un esempio e' (def go (partial etaoin.api/go *driver*))
, non so neanche se lo usero' questo truccone alla fine ma volevo capire almeno perche' non va
doseq returns nil. Devi usare (do ~@(map...)`
La macro fa solo di ritornare codice, in questo caso (do (def...) (def...)...)
ah mannaggia che pirla