「停止」というテキスト行にヒットしたときに、ファイルの内容をリストに読み込んでループを終了しようとしています。これが私のコードです:
let f_in = "file.text"
let lines = ref [];;
let chan = open_in f_in in
try
while true do
let line = input_line chan in
if line = "stop" then raise End_of_file;
lines := input_line chan :: !lines
done
with End_of_file -> close_in chan
問題は、余分な行が 1 行読み取られ、テキスト内に「停止」という単語が含まれる行が読み取られないことです。例は、次の種類のファイルです。
aaa
bbb stop
ccc stop
ddd
eee
stop
fff
これで、私のコードはこれらすべての行を出力し、「停止」という単語だけが含まれる行で読み取りを停止するはずです。誰かがこれを修正できますか?ありがとう。