Почему я получаю %
, напечатанный в конце print
в основной функции?
Если я использую println
или prn
, он больше не появляется. Я создал простую структуру приложения leiningen для запуска проекта (если это связано), поэтому я использую lein run
для запуска кода.
(ns temp-test.core
(:gen-class))
;; consumes token from source
(defn scantoken [source]
(let [c (first source)]
(case c
\( [:LEFT_PAREN (rest source)]
\) [:RIGHT_PAREN (rest source)]
[nil (rest source) (str "Unexpected character " c)])))
(defn scanner [source]
;; scan source for tokens
(loop [src source
result []]
(if (empty? src)
(conj result :EOF)
(let [[token remsrc err] (scantoken src)]
(when err (println err))
(recur remsrc (conj result token))))))
(defn -main
"Scans for tokens"
[& args]
; (println ["Hello, World!"]))
(print (scanner (seq "("))))
Обновление
Что-то связанное с оболочкой, которую я использую, производит: