Clojure打印功能

时间:2014-10-05 09:08:43

标签: clojure

在这里完成Clojure新手,所以我可能遗漏了一些关于clojure工作方式的基本知识,但我不了解Clojure评估函数的方式。

(defn get-output [] 
  (print "Enter: Width <RTN> Height <RTN> Price <RTN> Shape <RTN>")
  (print (calculate (read-string (read-line))))

我习惯使用像Ruby或C这样的语言来评估第一个打印函数,将字符串打印到终端。然后将评估第二个打印功能,提示用户输入。

然而,实际发生的是终端首先提示用户输入并在之后打印“输入:宽度高度价格形状”。最后,程序从calculate输出返回值。

为什么这些打印报表没有像我预期的那样执行?

1 个答案:

答案 0 :(得分:7)

语句按您期望的顺序执行。问题是print没有刷新输出缓冲区。您可以在第一个(flush)语句后致电print,也可以致电println