【发布时间】:2022-12-22 00:20:38
【问题描述】:
我想按 raku 中最后修改的文件对目录进行排序。我得到这样的文件列表:
"directory/".IO.dir;
有没有简单的方法可以做到这一点?
【问题讨论】:
标签: raku
我想按 raku 中最后修改的文件对目录进行排序。我得到这样的文件列表:
"directory/".IO.dir;
有没有简单的方法可以做到这一点?
【问题讨论】:
标签: raku
.dir 返回 sequence 的 IO::Path 对象。
IO::Path 对象有一个 .modified 方法返回 Instant 目录条目被修改。
结合所有这些:
say "$_: $_.modified.DateTime()" for "lib".IO.dir.sort(*.modified);
然后你会在“lib”目录中得到一个文件列表,它们的修改 DateTime 按升序排列。
要按降序获取它,请使用-*.modified,或对结果调用.reverse。
至于排序性能:当您使用接受单个参数的 Callable 调用 sort 时,它会在后台为您执行 Schwartzian transform。
【讨论】: