首页 > 解决方案 > Perl6:如何按目录年龄对“dir”结果进行排序?

问题描述

我试图在 Perl6 中按年龄获取目录列表,这相当于 Bash ls -tl | grep ^dr,但我不确定如何按年龄对结果进行排序,如果这可能的话

for dir (test => {$_.IO.d}) -> $dir {...}

如何按目录年龄对这些结果进行排序?

标签: raku

解决方案


我认为您正在寻找的是:

dir(test => *.IO.d) .sort: *.changed

Afaik -tinls -tl对应IO::Path方法.changed

dir请注意,和之间没有空格(test...)。缺乏空间是非常重要的。在 P6 中,foo(bar,baz)表示与 完全不同的东西foo (bar,baz)

# Call `foo` with two arguments `bar` and `baz`:
foo(bar, baz);

# Juxtapose identifier `foo` with a single `List` of 2 elements (bar, baz): 
foo (bar,baz);

# Juxtapose identifier `foo` with two `List`s: 
foo (bar,baz), (qux, waldo);

在后一种情况下,如果&foo已经声明了一个符号(这是 asub foo ...所做的),那么foo将调用它,就像在第一种情况下一样,但这次它将使用任何一个List(两个元素中的一个)作为其唯一参数或两个参数(两个Lists)。如果尚未声明符号但已声明符号&foo,则会出现编译时语法错误。foo


推荐阅读