Я использую sort
с настраиваемой подпрограммой сравнения я написал:Могу ли я передать аргументы сортировке сортировки в Perl?
sub special_compare {
# calc something using $a and $b
# return value
}
my @sorted = sort special_compare @list;
Я знаю, что лучше использовать $a
и $b
, которые автоматически устанавливаются, но иногда я хочу, чтобы мой special_compare
, чтобы получить больше аргументов, т.е.:
sub special_compare {
my ($a, $b, @more) = @_; # or maybe 'my @more = @_;' ?
# calc something using $a, $b and @more
# return value
}
Как я могу это сделать?
+1 приятный и простой! –
Вы можете передать ссылку на '@ more', чтобы остановить ее копирование все время. –
Или просто используйте встроенный код вместо вызова вспомогательного устройства, если это необходимо. – mscha