Mercurial > coderloop
view src/utils.clj @ 0:307a81e46071 tip
initial committ
author | Robert McIntyre <rlm@mit.edu> |
---|---|
date | Tue, 18 Oct 2011 01:17:49 -0700 |
parents | |
children |
line wrap: on
line source
1 (ns coderloop.utils2 (:use [clojure.contrib3 [shell-out :only [sh]]4 [duck-streams :only [file-str read-lines copy]]])5 (:use [clojure [string :only [trim blank? split]]]))12 (defn read-integer [file]13 (Integer/parseInt14 (trim (slurp (file-str file)))))16 (defn read-big-integer [file]17 (java.math.BigInteger.18 (trim (slurp (file-str file)))))21 (defn read-integer-line [#^java.lang.string s]22 (map #(Integer/parseInt %)23 (filter (comp not blank?)24 (split s #"\W"))))28 (defn read-integers29 "returns a lazy sequence of integers read from the file.30 Integers are delimited by any sort of whitespace"31 [#^java.io.File file]32 (mapcat read-integer-line33 (filter (comp not blank?)34 (read-lines (file-str file)))))37 (defn trans-print [x]38 (println x )39 x)42 (defn md543 "given a string, compute the md5 checksum"44 [s]45 (let [t (java.io.File/createTempFile "zzz" "zzz")]46 (copy s t)47 (.deleteOnExit t)48 (sh "md5sum" (.getCanonicalPath t))))51 (defn digits [n]52 (map #(Integer/parseInt (str %)) (seq (str n))))