Perl6:如何按目录年龄对`dir`结果进行排序?

con*_*con 5 perl6 raku

我试图在Perl6中按年龄获取目录列表,这等效于Bash,ls -tl | grep ^dr但是我什至不确定如何按年龄对结果进行排序

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

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

rai*_*iph 11

我认为您正在寻找的是:

dir(test => *.IO.d) .sort: *.changed
Run Code Online (Sandbox Code Playgroud)

AFAIK的-tls -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);
Run Code Online (Sandbox Code Playgroud)

在后一种情况下,如果&foo已经声明了一个符号(a的sub foo ...作用),foo则将调用它,就像在第一种情况下一样,但是这次它将List(两个元素中的一个)作为唯一符号一个或两个参数(两个Lists)。如果一个符号&foo没有被宣布,但一个符号foo了,那么你会得到编译时语法错误。