Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/clojure/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Macos Clojure REPL无法在OS X中打印doseq输出,但无法在Linux上打印_Macos_Clojure_Read Eval Print Loop_Leiningen - Fatal编程技术网

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)有一些优势。请参阅:。不过,在莱宁根似乎有更多的活动……也请参见