我在clojure中有以下代码:
(do
(println "starting....")
(sig! a 0)
(sig! b 0)
(future
(Thread/sleep 4000)
(println "switch 1")
(sig! a 1)
(sig! b 0)
(Thread/sleep 4000)
(println "switch 2")
(sig! a 0)
(sig! b 1)
(Thread/sleep 4000)
(println "switch 3")
(sig! a 1)
(sig! b 1)) nil))
Run Code Online (Sandbox Code Playgroud)
我有一些观察者听取原子a,b,s和c1并在它们改变时打印出一些字符串.使用(print (str uid ":" @o "\n")或println版本.clojure文档说print并且println应该表现完全相同的方式,除了换行符println,但我没有看到这一点.观察者使用时,println我立刻看到了弦乐.当观察者使用时print.我只看到下一个println被调用时的输出.下面我有printlnvs 的输出print.随着print我只看到了最后的值println.
starting....
switch 1
a:1
s:1
switch …Run Code Online (Sandbox Code Playgroud)