Ho provato il codice sorgente, ma ho omesso lo svuotamento. Ha funzionato senza problemi. Quale versione di Clojure stai usando? Ho provato il seguente codice con Clojure 1.3.
(def command (atom 0))
(defn print-prompt []
(print "prompt> ")
)
(defn ask-for-input
[]
(print-prompt)
(let [x (str (read-line))]
(println (str "User input: " x))
(reset! command x)
))
Edit: ho modificato una delle tue funzioni che ho copiato e testato con, e funziona ora con standalone ed eseguire Lein. Hai avuto (a filo) nel tuo esempio originale.
(defn print-prompt []
(print "prompt> ")
(flush)
)
Da quello che posso raccogliere, println provoca un colore, la stampa non lo fa, e avete bisogno di un filo dopo stampa.
Sto aggiungendo queste informazioni nel caso in cui potrebbe essere di aiuto. Ho un progetto Clojure chiamato repl-test. Ecco l'intestazione del file core.clj del mio repl-test project. La tua fonte, già pubblicata, si trova in questo file con alcune altre funzioni, non correlate al tuo post.
(ns repl-test.core
(:gen-class)
(:use clojure.contrib.command-line)
(:require [clojure.contrib.string :as cstr])
(:require [clojure.contrib.trace :as ctr])
(:require [clojure.string :as sstr])
(:use clojure-csv.core))
E qui è il file project.clj:
(defproject repl-test "0.0.1-SNAPSHOT"
:description "TODO: add summary of your project"
:dependencies [[org.clojure/clojure "1.3.0"]
[org.clojure/clojure-contrib "1.2.0"]
[clojure-csv/clojure-csv "1.2.4"]
[org.clojure/tools.cli "0.1.0"]
[clj-http "0.1.3"]]
:aot [repl-test.core]
:main repl-test.core)
comando di Cosa? Prenderesti in considerazione la possibilità di modificare il post originale e di inserirlo? Sto cercando di creare il tuo codice e dargli un'occhiata. Penso di sapere di cosa si tratta, ma sarebbe bello vederlo. Grazie. – octopusgrabbus
@octopusgrabbus Lì ho aggiunto la linea mancante. – Deleteman
Al lein repl, come si chiama questo? Ho appena inserito (ask-for-input). Devo ammettere che ho la mia area allestita come un progetto. Pubblicherò il progetto e l'intestazione di src nella mia risposta come una modifica. – octopusgrabbus