Значение <=> (меньше, равно, больше, чем) в Perl? - PullRequest
9 голосов
/ 22 октября 2011

В этот ответ , я видел синтаксис <=>;что это значит?Кажется, это какое-то сравнение, основанное на контексте, но это все, что я могу собрать.Частичный контекст:

sub rev_by_date { $b->[9] <=> $a->[9] }
my @sorted_files = sort rev_by_date @files;

1 Ответ

15 голосов
/ 22 октября 2011

С Perldoc :

Двоичный "<=>" возвращает -1, 0 или 1 в зависимости от того, является ли левый аргумент численно меньшим, равным илибольше, чем правильный аргумент.Если ваша платформа поддерживает NaN (не числа) в качестве числовых значений, использование их с «<=>» возвращает undef.NaN не является «<», «==», «>», «<=» или «> =» чем-либо (даже NaN), поэтому эти 5 возвращают false.NaN! = NaN возвращает true, как и NaN! = Все остальное.Если ваша платформа не поддерживает NaN, то NaN - это просто строка с числовым значением 0.

...