Molto del mio lavoro è fatto con estratti .csv (report) dai database. Come ho programmato in Clojure, ho ricevuto commenti che basandosi su indici vettoriali crea dipendenze. Capisco perché e concordo.
Sto riscrivendo uno dei miei programmi per trarre vantaggio dal fatto che la prima riga di ogni rapporto contiene le intestazioni delle colonne e potrei andare dopo ogni riga di dati che voglio per chiave mappa. Sto riscrivendo un codice per comprimere le intestazioni fatte in chiavi di mappa e una riga di dati (alla volta) in modo da poter accedere ai dati che voglio. Ecco un esempio.
(def bene-csv-inp (fetch-csv-data "benetrak_roster.csv"))
(def bene-csv-cols (first bene-csv-inp))
(def bene-csv-data (rest bene-csv-inp))
(def zm1 (zipmap
(map #(keyword %1) bene-csv-cols)
(first bene-csv-data)))
(zm1 :EmploymentStartDate)
"21-Jun-82"
Esiste un livello più alto di estrazione e, in caso affermativo, che cosa consentirebbe al mio codice di non dover dovere codificare :EmploymentStartDate
? Se il mio codice deve conoscere queste chiavi, allora come è anche non una dipendenza come un indice?
Personalmente, mi piace prendere dopo i dati con le chiavi della mappa, perché è meno confuso e più informativo degli indici. Tuttavia, credo di avere ancora una dipendenza.
Grazie.