Module Printf


module Printf: sig .. end
整形出力関数

val fprintf : out_channel ->
('a, out_channel, unit) format -> 'a
fprintf outchan format arg1 ... argN は引数 arg1 から argN を書式指定文字列 format にしたがって整形し、結果の文字列をチャネル outchan に出力します。

format は通常の文字か変換指定子の並びから成る文字列です。 通常の文字は単純に出力チャネルにコピーされ、変換指定子は引数を変換して出力します。

変換指定子は次のような形式です。

% [flags] [width] [.precision] type

変換指定子は % で始まり、次に省略可能な修飾子、そして引数の種類と出力形式を表すひとつないしはふたつの文字が続きます。出力形式とその意味は次のようになります。

省略可能な flags には次のものを指定できます。

省略可能な width には出力結果の最小幅を表す整数を指定します。例えば %6d なら、最低でも 6 文字幅になるように空白を前置して整数を出力します。

省略可能な precision には、 . に続けて、 %f%e%E で小数点以下に表示する数字の桁数を表す整数を指定します。例えば、 %.4f であれば float を小数点以下 4 桁まで表示します。

val printf : ('a, out_channel, unit) format -> 'a
Printf.fprintf と同じですが、 stdout に出力します
val eprintf : ('a, out_channel, unit) format -> 'a
Printf.fprintf と同じですが、 stderr に出力します
val ifprintf : 'a -> ('b, 'a, unit) format -> 'b
Printf.fprintf と同じですが、何も出力しません。 条件付きで出力する場合に一部を無視するのに便利です。
Since 3.10.0
val sprintf : ('a, unit, string) format -> 'a
Printf.fprintf と同じですが、出力チャネルに表示する代わりに、引数を整形した結果を文字列として返します。
val bprintf : Buffer.t -> ('a, Buffer.t, unit) format -> 'a
Printf.fprintf と同じですが、出力チャネルに表示する代わりに、引数を整形した結果をバッファに追加します(Buffer モジュールを参照してください)。

継続を伴った整形出力関数
val kfprintf : (out_channel -> 'a) ->
out_channel ->
('b, out_channel, unit, 'a) format4 -> 'b
fprintf と同じですが、表示が終わった際に直ちに戻らずに、出力チャネルを第一引数の関数に渡します。
Since 3.09.0
val ksprintf : (string -> 'a) -> ('b, unit, string, 'a) format4 -> 'b
上の sprintf と同じですが、文字列を返す代わりに、それを第一引数の関数に渡します。
Since 3.09.0
val kbprintf : (Buffer.t -> 'a) ->
Buffer.t -> ('b, Buffer.t, unit, 'a) format4 -> 'b
bprintf と同じですが、出力が終わった際に直ちに戻らずに、第一引数の関数にバッファを引き渡します。
Since 3.10.0
val kprintf : (string -> 'a) -> ('b, unit, string, 'a) format4 -> 'b
ksprintf の非推奨の別名です。