2006/04/27 [OCaml] Unix.open_process カテゴリ:OCaml 他のコマンドを起動してそのプロセスに出力、そのプロセスから入力することはそれぞれできたので、次はその両方を同時にしてみる。つまりUnix.open_processを使ってプロセスにデータを送り、結果を取得してみる。 以下は、pasteコマンドを起動して入出力し、一列のリストをリストのリストに変換するもの。 pasteコマンドにデータを送ったあとclose_outでout_channelを閉じないとin_channelからきちんと結果を取得できないようだ。 #load "unix.cma";; #load "str.cma";; let rec columns_aux_out oc = function | [] -> () | x :: xs -> output_string oc (x ^ "