2013-10-20 96 views
5

我正在尋找一種方法將兩個int s寫入一個文件。將有許多對兩個int s。在這兩個數字之間應該有一個空格(我的意思是'')。例如,像這樣:OCaml如何寫入文件?

1 2 
6 896 
243 865 
.... 

回答

5

您可以使用這樣的事情:

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; 

這裏假設你的數據是對的列表。

2

如果使用Core,你可以這樣做:

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