Глава 8: Функции.
8.3 Возвращаемые значения
Вызов подпрограммы почти всегда является частью некоторого выражения. Результат, полученный после выполнения подпрограммы, называется возвращаемым значением. Возвращаемое значение представляет собой результат выполнения оператора return или последнего выражения, вычисленного в подпрограмме.
Давайте, например, определим такую подпрограмму:
sub sum_of_a and_b {
return $a + $b;
}
Последнее выражение, вычисляемое в теле этой подпрограммы (фактически единственное вычисляемое выражение), — сумма переменных $а и $b, поэтому эта сумма и будет возвращаемым значением. Вот как все это работает:
$а = 3;
$b = 4;
$с = sum_of_a_and_b(); # $с присваивается значение 7
$d = 3 * sum_of_a_and_b(); # $d содержит значение 21
При вычислении в списочном контексте подпрограмма может возвращать список значений. Рассмотрим такую подпрограмму и ее вызов:
sub list_of_a_and_b {
return($a,$b);
}
$a = 5;
$b = 6;
@c = list_of_a_and_b(); # @c присваивается значение (5,6)
Последнее вычисленное выражение действительно означает последнее вычисленное выражение, а не последнее выражение, определенное в теле подпрограммы. Например, следующая подпрограмма возвращает $а, если $а > 0; в противном случае она возвращает $b:
sub gimme a_or_b {
if ($a > 0) {
print "choosing a ($a)\n";
returns $a;
} else {
print "choosing b ($b)\n";
returns $b;
}
}
Все это довольно тривиальные примеры. Однако будет гораздо лучше, если вместо того, чтобы полагаться на глобальные переменные, мы сможем передавать в подпрограмму значения, разные для каждого вызова. Именно к этому мы сейчас и перейдем.
Назад | Вперед
Содержание (общее) | Содержание раздела
Если Вы не нашли что искали, то рекомендую воспользоваться поиском по сайту:
|