Skip to content

Instantly share code, notes, and snippets.

@mtnygard
Created January 28, 2018 17:34
Show Gist options
  • Select an option

  • Save mtnygard/89cbc73e30e0010ca59adb42536936a2 to your computer and use it in GitHub Desktop.

Select an option

Save mtnygard/89cbc73e30e0010ca59adb42536936a2 to your computer and use it in GitHub Desktop.
(require '[clojure.string :as str])
(def icao
(->> (str/split
"Alfa, Bravo, Charlie, Delta, Echo, Foxtrot, Golf, Hotel, India, Juliett, Kilo, Lima, Mike, November, Oscar, Papa, Quebec, Romeo, Sierra, Tango, Uniform, Victor, Whiskey, X-ray, Yankee, Zulu"
#", ")
(map #(hash-map (first %) %))
(apply merge)))
(defn radiocode [s]
(str/join
" "
(keep identity
(map icao (str/upper-case s)))))
(radiocode "If you can read this")
@yogthos
Copy link

yogthos commented Jan 29, 2018

could be ever so slightly shorter :)

(def icao
  (->> (str/split
         "Alfa, Bravo, Charlie, Delta, Echo, Foxtrot, Golf, Hotel, India, Juliett, Kilo, Lima, Mike, November, Oscar, Papa, Quebec, Romeo, Sierra, Tango, Uniform, Victor, Whiskey, X-ray, Yankee, Zulu"
            #", ")
         (reduce #(assoc %1 (first %2) %2) {})))

(defn ->radiocode [s]
  (->> (str/upper-case s) (mapv icao) (str/join " ")))

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment