Klavyeden kullanıcı girdisini okuyan Clojure programım için bir işlev yazıyorum. Kullanıcı geçersiz girdiye girerse, kullanıcı uyarılır ve tekrar sorulur. Ben Clojure içinde birlikte gelebilir iyi şudurClojure'deki klavyeden kullanıcı girişini okumanın kolay yolu?
while 1:
value = input("What is your decision?")
if validated(value):
break
else:
print "That is not valid."
: Python gibi bir dilde bir usul tarzı kullanırken, böyle bir şey yapacağını
(loop [value (do
(println "What is your decision?")
(read-line))]
(if (validated value)
value
(recur (do
(println "That is not valid.")
(println "What is your decision?")
(read-line)))))
Bu çalışır, ancak o gereksiz ve ayrıntılı görünüyor. Bunu yapmak için daha Lispy/Clojurey yolu var mı? bir get-line fonksiyonu içine println/okuma çizgisini açılan dışarı