ソースコードを試しましたが、フラッシュを省略しました。問題なく動作しました。どのバージョンのClojureを使用していますか?Clojure1.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)
))
編集:コピーしてテストした関数の1つを変更しました。これで、スタンドアロンおよびleinrunで動作するようになりました。元の例では(フラッシュ)しました。
(defn print-prompt []
(print "prompt> ")
(flush)
)
私が得たものから、printlnはフラッシュを引き起こしますが、印刷は引き起こしません、そしてあなたは印刷後にフラッシュを必要とします。
役立つかもしれない場合に備えて、この情報を追加しています。repl-testというClojureプロジェクトがあります。これが私のrepl-testプロジェクトのcore.cljファイルヘッダーです。すでに投稿されているソースは、投稿に関係のない他のいくつかの機能とともにこのファイルにあります。
(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))
そして、これが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)