YAMAGUCHI::weblog

海水パンツとゴーグルで、巨万の富を築きました。カリブの怪物、フリーアルバイター瞳です。

Printf.printfで表示されない?

はじめに

プログラムを実行している時に、各ステップでnotify的な表示をさせたい場合があるときに、Printf.printfを使ってたんですが、表示がうまく行われないことがあってなんでだろうと思ってたので @camlspotter に訊いたのでした。

Printf.printfにはflushが必要

知らなかった!これは落とし穴である。printf使うときはちゃんとflush (%!) してあげないとだめ。

Printf.printf "%d\n%!" 1;;

あるいは単に表示させるだけなら prerr_endline などを使えば自動でflushしてくれるから楽。