susu #5630(2008/02/02 03:29 GMT) [ OCaml ] Rating0/0=0.00
コマンドを実行するだけならSys.commandで。戻り値も得られます。 出力を利用する場合はopen_processがin,out,fullなどと色々用意されています。 終了値はclose_processの時に返ります。 あと標準入力を開いたとき、read_lineのような一行入力モノは '\n'を書き込んでflushするまで終わりません。 output_stringは文字列中に\nがないと改行されないので、少し注意が必要です。
1 2 3 4 5 6 7
#load "unix.cma";; let stdout_iter f cmd = let proc = Unix.open_process_in cmd in (try while true do f (input_line proc) done with _ -> ()); Unix.close_process_in proc;; stdout_iter (Printf.printf " > %s\n") "ps";;
Rating0/0=0.00-0+
[ reply ]
susu
#5630()
[
OCaml
]
Rating0/0=0.00
Rating0/0=0.00-0+
[ reply ]