Comment detail

ファイル更新の監視 (Nested Flatten)
こちらも処理順依存です。
ocamlが左から評価するようになったら、sleepは右のstat前にいります。
1
2
3
4
5
6
7
(*ocaml unix.cma doukaku15.ml*)
let monitor path sec =
  while true do
    if (Unix.sleep sec; Unix.stat path) <> Unix.stat path
    then print_endline "modified!"
  done
in monitor "a.txt" 2;;

処理順に依存しないようにしてみました。

1
2
3
4
5
6
7
let monitor path sec =
  let rec loop stat =
    Unix.sleep sec;
    let next_stat = Unix.stat path in
      if stat <> next_stat then print_endline "modified!";
      loop next_stat
  in loop (Unix.stat path)

Index

Feed

Other

Link

Pathtraq

loading...