pronoun.lol/src/pronouns/util.clj

17 lines
430 B
Clojure
Raw Normal View History

(ns pronouns.util
(:require [clojure.string :as s]))
(defn slurp-tabfile [path]
(let [lines (s/split (slurp path) #"\n")]
(map #(s/split % #"\t") lines)))
(defn table-lookup
[query-key table]
(let [arity (count query-key)
filtered-table (filter #(= query-key (take arity %)) table)]
(first filtered-table)))
(defn tabfile-lookup
[query-key tabfile]
(table-lookup query-key (slurp-tabfile tabfile)))