loop ciclos clojure user-input

loop - ciclos en clojure



¿Cómo obtener la entrada del usuario en Clojure? (3)

Recuerde también que tiene acceso a todo Java ...

De acuerdo, quizás debería presentar algunos ejemplos ... mis habilidades de clojure no son buenas, así que estos ejemplos pueden necesitar un poco de ajuste.

La forma de System.console () :

(let [console (. System console) pwd (.readPassword console "tell me your password: ")] (println "your password is " pwd))

El modo BufferedReader :

(print "give me a line: ") (let [reader (java.io.BufferedReader. *in*) ln (.readLine reader)] (println "your line is " ln))

Mi punto es que uno puede aprovechar el conocimiento de Java y Java en Clojure. Es una de sus principales fortalezas anunciadas.

Me pregunto cuál hubiera sido mi puntaje si la pregunta fuera sobre la entrada del usuario desde una GUI.

Por cierto, podrías usar JOptionPane para poner una pequeña GUI para obtener la entrada del usuario ...

Actualmente estoy aprendiendo clojure, pero me preguntaba cómo obtener y almacenar las entradas de los usuarios en un programa clojure. Estaba mirando la aplicación clojure y encontré una función llamada read-line, sin embargo, no estoy seguro de cómo usarla si es la función correcta para usar ...

De todos modos, ¿cómo se obtiene la entrada del usuario en clojure?


read-line se usa para obtener la entrada del usuario y usar let para vincularlo a alguna variable.

Por ejemplo: si desea leer la identificación de usuario y la contraseña del usuario y mostrarla, puede usar la siguiente pieza de código

(defn print-message [pid pw] (println "PID : " pid) (println "PW : " pw)) (defn inp[] (println "Enter your PID and password") (let[pid (read-line) pw (read-line)] (print-message pid pw) ))


read-line es la función correcta ...

(println (read-line))

... básicamente se haría eco de la entrada de los usuarios:

Clojure 1.0.0- user=> (println (read-line)) this is my input this is my input

Para usarlo en una declaración if, probablemente use let:

(let [yayinput (read-line)] (if (= yayinput "1234") (println "Correct") (println "Wrong")))

Espero que sea suficiente para empezar, ¡porque ese es el límite de mi conocimiento de Clojure!