Списки параметров переменной длины

В реальном коде Perl пользовательские функции часто получают списки параметров произвольной длины. Это обусловлено уже упоминавшейся философией «отсутствия искусственных ограничений», принятой в Perl. Конечно, в этом Perl отличается от многих традиционных языков программирования, требующих жесткой типизации каждой функции (т. е. возможности ее вызова только с заранее определенным числом параметров заранее определенных типов). Хорошо, конечно, что Perl настолько гибок, но, как было показано ранее в примере с функцией &max, вызов функции с другим количеством аргументов может создать проблемы. Конечно, функция может легко проверить количество аргументов по массиву @_. Например, в функции &max проверка может выглядеть так:

sub max {
if (@_ != 2) {
print "WARNING! &max should get exactly two arguments!\n";
}
# Нормальное продолжение...
.
.
.
}


Условие if использует «имя» массива в скалярном контексте для получения количества его элементов. Но в реальном программировании такие проверки встречаются относительно редко; лучше заставить функцию приспособиться к переданным параметрам.
Теги:
функции
Добавлено: 20 Июля 2018 08:07:02 Добавил: Андрей Ковальчук Нравится 0
Добавить
Комментарии:
Нету комментариев для вывода...