0

「停止」というテキスト行にヒットしたときに、ファイルの内容をリストに読み込んでループを終了しようとしています。これが私のコードです:

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

これで、私のコードはこれらすべての行を出力し、「停止」という単語だけが含まれる行で読み取りを停止するはずです。誰かがこれを修正できますか?ありがとう。

4

1 に答える 1