2013-10-20 24 views
5

Sto cercando un modo per scrivere due int su un file. Ci saranno molte coppie di due int s. Tra i due numeri dovrebbe esserci uno spazio (intendo ''). Per esempio, qualcosa di simile:OCaml Come scrivere in un file?

1 2 
6 896 
243 865 
.... 

risposta

5

si può usare qualcosa di simile:

let rec print_numbers oc = function 
    | [] ->() 
    | e::tl -> Printf.fprintf oc "%d %d\n" (fst e) (snd e); print_numbers oc tl 

let() = 
    let nums = [(1, 2); (6, 896); (243, 865)] in 
    let oc = open_out "filename.txt" in 
    print_numbers oc nums; 
    close_out oc; 

questo presuppone tuoi dati è una lista di coppie.

2

Se si utilizza Core, si può fare questo:

open Core.Std 
let() = Out_channel.write_all "your_file.txt" ~data:"Your text"