我试图在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的-t在ls -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了,那么你会得到编译时语法错误。