コマンドを使用して、Snow LeopardOSXマシンとUbuntuLinuxボックスの両方でClojure1.2を実行していますlein repl
。enliveチュートリアルhttps://github.com/swannodette/enlive-tutorial/を実行しています
「ThirdScrape」チュートリアルに到達して次のコマンドを実行すると、次のようになります。
(print-stories)
Ubuntuでは期待どおりに動作しますが、OS Xでは、最初のストーリーのみを出力し、数値、(println "hello world")などの式を入力した後にのみ、残りのストーリーを出力します。バッファが出力を完全にフラッシュしていないかのように、REPLがOSXで動作している方法について何か奇妙なようです。
doseq
関数でマクロが使用されていることに気付きましたprint-stories
。だから私がこれを行うと:
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
か何かでそれをフラッシュして入力することができます。場合によっては、すべての出力が適切にフラッシュされます。
誰かアイデアはありますか?