There is such a code
(defn fun [] (let [reading (read-line)] ....... ....... (while (условие) (do (println "Какая-то строка") (read-line))) ......)) And you need to exit the while , but how to do it? Option
(while (not (= (read-line) "какое-то значение")) ....body... ) do not offer, since the read-line first waits for input, and only then what is in the while body is while . And is it possible to transfer the value obtained using the read-line inside the while in reading ? (let a bunch, see above)