27 lines
542 B
Clojure
27 lines
542 B
Clojure
(defn next-char []
|
|
(char (.read *in*)))
|
|
|
|
(defn forward []
|
|
(let [ch (next-char)]
|
|
(print ch)
|
|
(if (Character/isLetter ch)
|
|
(forward)
|
|
(not= ch \.))))
|
|
|
|
(defn backward []
|
|
(let [ch (next-char)]
|
|
(if (Character/isLetter ch)
|
|
(let [result (backward)]
|
|
(print ch)
|
|
result)
|
|
(fn [] (print ch) (not= ch \.)))) )
|
|
|
|
(defn odd-word [s]
|
|
(with-in-str s
|
|
(loop [forward? true]
|
|
(when (if forward?
|
|
(forward)
|
|
((backward)))
|
|
(recur (not forward?)))) )
|
|
(println))
|