Macos Clojure REPL无法在OS X中打印doseq输出,但无法在Linux上打印
我通过Macos Clojure REPL无法在OS X中打印doseq输出,但无法在Linux上打印,macos,clojure,read-eval-print-loop,leiningen,Macos,Clojure,Read Eval Print Loop,Leiningen,我通过leinrepl命令在我的雪豹OSX机器和Ubuntu linux机器上运行Clojure1.2。我正在学习英语教程 当我进入“第三次刮取”教程并运行以下命令时: (print-stories) 它在Ubuntu上可以正常工作,但在OSX上,它只输出第一个故事,然后在我输入一些表达式后才输出其余的故事,无论是数字、a(println“hello world”)还是其他什么。REPL在OS X上的工作方式似乎有些奇怪——好像缓冲区没有完全刷新其输出 我注意到,print stories函数
leinrepl
命令在我的雪豹OSX机器和Ubuntu linux机器上运行Clojure1.2。我正在学习英语教程
当我进入“第三次刮取”教程并运行以下命令时:
(print-stories)
它在Ubuntu上可以正常工作,但在OSX上,它只输出第一个故事,然后在我输入一些表达式后才输出其余的故事,无论是数字、a(println“hello world”)还是其他什么。REPL在OS X上的工作方式似乎有些奇怪——好像缓冲区没有完全刷新其输出
我注意到,print stories
函数中使用了doseq
宏。因此,如果我这样做:
tutorial.scrape3=> (doseq [x (map extract (stories))] (println x))
我在OSX上获得以下输出:
{:summary , :byline , :headline With Stones and Firebombs, Mubarak Allies Attack}
这只是第一项。如果然后输入0
(或任何有效表达式)并按return键,我将获得剩余的输出:
0
{:summary The Conversation: Long, worthy road to democracy. , :byline , :headline }
{:summary The Frugal Traveler scores a cheap ticket to Malaga, Spain, birthplace of Picasso., :byline , :headline A Taste of Picasso (and Iberian Cuisine)}
{:summary Lay claim to the next great place: four emerging destinations., :byline , :headline Beat the Crowds}
[etc]
我还注意到这种行为并不一致。有时,没有输出任何内容,然后我可以通过键入0
或其他内容将其清除,然后输入。有时,它会正确地刷新所有输出
有人有什么想法吗?碰巧我昨晚在《雪豹》上做了同样的enlive教程,scrape3(打印故事)功能对我来说很好。您问题中的doseq代码也适用于我,不会停止 如果在命令行中运行“lein version”,将获得什么输出?我的版本详情如下: 基于Java 1.6.0_22 Java HotSpot(TM)64位服务器虚拟机的Leiningen 1.4.2 干杯,
科林这不是OSX的问题,我在ubuntu 10.10上也遇到过这个问题。可能与leiningen AFAIK使用的rlwrap有关。我现在用的是。Java 1.6.0_22 Java HotSpot(TM)64位服务器VMOK上的Leiningen 1.3.1,谢谢。我安装了1.4.2版,这个问题似乎已经解决了,可以替代lein了。它与大多数leiningen project.clj文件兼容,并且比leiningen(例如,持久JVM)有一些优势。请参阅:。不过,在莱宁根似乎有更多的活动……也请参见