Hello all, This is my first Clojure program and I was hoping to get some advice on it since I don't know any experienced Clojure devs. I'm using it locally to print the latest build numbers for a list of projects.
``` (ns jlorenzen.core (:gen-class) (:require [clj-http.client :as client]) (:require [cheshire.core :refer :all])) (defn fetch-pipeline [pipeline] (client/get (str "https://example.com/go/api/pipelines/" pipeline "/history") {:basic-auth "username:password"})) (defn get-latest-build [pipeline] (let [response (fetch-pipeline pipeline) json (parse-string (:body response) true)] (let [[pipeline] (:pipelines json)] (:counter pipeline)))) (def core-projects #{"projectA" "projectB" "projectC" "projectD"}) (defn print-builds ([] (print-builds core-projects)) ([projects] (let [builds (pmap #(str % " " (get-latest-build %)) projects)] (map #(println %) (sort builds))))) ``` This will output the following: ``` projectA 156 projectB 205 projectC 29 projectD 123 (nil nil nil nil) ``` A few questions: - How can this program be improved? - How idiomatic is it? - How can I prevent it from returning the nils at the end? I know this is returning nil for each map'd item; I just don't know the best way to prevent that. Thanks, James Lorenzen -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups "Clojure" group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/clojure/ccb868e0-7e0c-46df-80fc-712f718314e3n%40googlegroups.com.