2012-06-21 38 views
-2

我與OCaml的麻煩,因爲我想讀從一個文本文件中的行,而我使用此代碼來完成這項工作:如何從Ocaml中的文件讀取一行?

let parse3ac() = 
let lines = ref "" in 
let chan = open_in "3ac" in 
try 
    while true do 
    lines := input_line chan; 
print_string(!lines); 
    done; 
with End_of_file -> close_in chan;print_string("End Of File");; 

但它僅在控制檯打印「中結束文件「,但文件中的行不出現。

這段代碼有什麼問題?

Thks 4 all !!!

編輯:

其實我已經發現它沒有工作的原因。 這很簡單,上面的代碼工作得很好,但之前使用OCaml創建的文件「3ac」沒有正確關閉,然後就無法讀取該文件。 提示大家,正如我在代碼工作之前所說的那樣,所有人都可以使用它。

THks。

+0

這段代碼大概是非常必要的(非功能性的),因爲它可能是。如果對你很重要,一旦你開始工作,你可能會朝着更實用的方式轉變。 –

回答

1

這段代碼起作用,我測試了它,它寫入文件3ac的行(沒有換行符,因爲你不打印它們),然後是「文件結束」。你確定文件3ac不是空的嗎?

+0

其實我發現它沒有工作的原因。 這很簡單,上面的代碼工作得很好,但之前使用OCaml創建的文件「3ac」沒有正確關閉,然後就無法讀取該文件。 提示大家,正如我在代碼工作之前所說的那樣,所有人都可以使用它。 THks。 – tsukanomon