$, = ' '; print sort {$a-$b} qw/1.5 2.5 2 1/;
产生1.5 1 2.5 2
。我知道<=>
,我只是想知道这是怎么回事,是否已记录此行为。
即使这样也不起作用:
$, = ' '; print(sort{(sqrt$a)-(sqrt$b)} qw/1.5 2.5 2 1/);
事做$a
和$b
magick,仿佛它们是作为字符串进行评估。OTOH,整数列表用-
代替正确排序<=>
。
从Perl文档中
如果指定了SUBNAME,它将给出一个子例程的名称,该子例程返回一个小于,等于或大于0的整数,具体取决于列表元素的排序方式。
如果-
与一起使用floats
,它将返回float
结果,而不是上述integer
要求的结果。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句