在这个答案中,我看到了语法<=>
;这是什么意思?这似乎是基于上下文的某种比较,但我只能收集到这些。部分上下文:
sub rev_by_date { $b->[9] <=> $a->[9] }
my @sorted_files = sort rev_by_date @files;
在这个答案中,我看到了语法<=>
;这是什么意思?这似乎是基于上下文的某种比较,但我只能收集到这些。部分上下文:
sub rev_by_date { $b->[9] <=> $a->[9] }
my @sorted_files = sort rev_by_date @files;
从Perldoc:
二进制“<=>”返回 -1、0 或 1,具体取决于左参数在数值上是否小于、等于或大于右参数。如果您的平台支持将 NaN(非数字)作为数值,则将它们与“<=>”一起使用会返回 undef。NaN 不是 "<"、"=="、">"、"<=" 或 ">=" 任何东西(甚至是 NaN),所以这 5 个返回 false。NaN != NaN 返回 true,NaN != 也一样。如果您的平台不支持 NaN,则 NaN 只是一个数值为 0 的字符串。