Perv中的Schwartzian变换?
发布时间:2020-12-15 21:15:45 所属栏目:大数据 来源:网络整理
导读:my @output =map $_-[0],sort{$a-[1] = $b-[1]}map [$_,-s $_],@array; 有人可以更详细地解释代码吗?我不能得到它的头或尾.. 解决方法 从下往上阅读: @array 一个数组(文件名,以后使用). map [$_, 对于每个文件名,获取对两元素匿名数组的引用,第一个元素是
my @output = map $_->[0],sort{$a->[1] <=> $b->[1]} map [$_,-s $_],@array; 有人可以更详细地解释代码吗?我不能得到它的头或尾.. 解决方法
从下往上阅读:
@array 一个数组(文件名,以后使用). map [$_, 对于每个文件名,获取对两元素匿名数组的引用,第一个元素是文件名,第二个元素是文件的字节大小. map返回这些数组引用的列表. sort{$a->[1] <=> $b->[1]} 通过增加文件大小对数组引用列表进行排序. map $_->[0], 将数组引用列表转回到文件名列表中,但现在按排序顺序. my @output = 将列表保存在@output中. 这相当于: my @output = sort { -s $a <=> -s $b } @array; 但只能获得每个文件的大小一次,而不是按排序进行每次比较一次. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |