You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Raku中如何按文件最后修改时间对目录下文件排序

Raku 按文件最后修改时间排序目录文件的实现方法

你当前用"directory/".IO.dir获取目录列表的写法可以直接扩展实现排序需求,不需要额外引入依赖。dir返回的每个元素都是IO::Path类型,自带获取最后修改时间的内置方法,直接配合sort使用即可。

  • 基础写法(按修改时间从旧到新排序,最早修改的条目排最前):
my @sorted-old-first = "directory/".IO.dir.sort( *.modified );
  • 逆序写法(按修改时间从新到旧排序,最新修改的条目排最前):
my @sorted-new-first = "directory/".IO.dir.sort( -* .modified );
  • 如果只需要排序普通文件、排除子目录/符号链接等特殊条目,可以先加一层过滤:
# 仅保留普通文件,再按修改时间从新到旧排序
my @only-files-sorted = "directory/".IO.dir.grep( *.f ).sort( -* .modified );

说明:*.modified是Raku的Whatever星号简写,等价于对列表里每个路径对象调用.modified方法,该方法返回对应文件最后修改时间的Instant时间对象,可直接用于排序比较,不需要手动做时间格式转换。

内容的提问来源于stack exchange,提问作者Skye Bleed

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.29 19:09:21