Browse thread
commands.getoutput () in ocaml?
[
Home
]
[ Index:
by date
|
by threads
]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: | 2007-08-22 (20:05) |
From: | malc <av1474@c...> |
Subject: | Re: [Caml-list] commands.getoutput () in ocaml? |
On Wed, 22 Aug 2007, Luca de Alfaro wrote: > Dear All, > > I am looking for a quick way to do the equivalent of > > s = commands.getoutput ("ls " + name + "*") > > in Ocaml. > > Unix.system does perform a call, but the output of the call is not > returned... yes, I can redirect it to /tmp/output.ocaml and then read the > file, or even go crazy and build pipes, but is there a more elegant (read: > succint) way to do it? I needed something to that effect yesterday and wrote following: open Unix;; let getprocout cmd = let ic = open_process_in cmd in let b = Buffer.create 10 in let rec loop () = match try Some (input_line ic) with End_of_file -> None with | None -> Buffer.contents b | Some line -> Buffer.add_string b line; loop () in loop () ;; -- vale