class IO::Notification::Change {}

IO::Notification.watch-path($path) 以及 IO::Path.watch 根据用作 $path 参数或 IO::Path 对象的内容,生成一个 SupplyIO::Notification::Change 事件,用于文件或目录。

这是一个小示例,它打印当前工作目录的前十个 FileChanged 通知

my $finish = Promise.new;
my $count = 0;
IO::Notification.watch-path($*CWD).act-> $change {
    $count++ if $change.event ~~ FileChanged;
    say "($count$change.path()$change.event()";
    $finish.keep if $count >= 10;
});
await $finish;

更改的类型在很大程度上取决于平台和用于启动更改的特定系统调用。此时,你不应该依赖于更改的类型,而应该测试你的具体情况。

方法§

方法 path§

返回正在监视的文件的路径。

方法 event§

返回事件类型:FileChangedFileRenamed

方法 IO§

返回正在监视的文件的句柄。

方法 gist§

multi method gist(IO::Notification::Change:D:)

返回路径和事件属性,以分号分隔。