Википедия определяет al oop следующим образом:
A * oop - это последовательность операторов, которая указывается один раз, но которая может выполняться несколько раз в последовательность.
Если вы хотите выполнять определенные инструкции только один раз, их не должно быть в любом случае oop. [1]
if (@ARGV < 2) {
die("Invalid command line arguments to program. " .
"Please supply two or more strings to sort.\n");
}
print("@ARGV\n"); # Short for print(join(" ", @ARGV), "\n");
Хотя проверка использования не должна быть в al oop, впоследствии у вас может быть al oop. Например,
if (@ARGV < 2) {
die("Invalid command line arguments to program. " .
"Please supply two or more strings to sort.\n");
}
for my $arg (@ARGV) {
print("$arg\n");
}
Или l oop должен быть немедленно завершен (обычно с использованием last
, return
или die
) , Например, можно использовать следующий код, чтобы проверить, соответствует ли какой-либо из элементов в массиве некоторому условию:
my $match = 0;
for my $item (@items) {
if (matches($item)) {
$match = 1;
last;
}
}
$match = 1;
должно быть внутри l oop (потому что это зависит от $item
), но поскольку нет смысла делать $match = 1;
более одного раза, мы выходим из l oop, как только мы находим совпадение.
Здесь это не так.