Вопрос

Есть ли какая-либо причина использовать скалярный оператор запятой где-либо, кроме как в for петля?

Это было полезно?

Решение

Поскольку скалярная запятая Perl является "портом" оператора запятой C, эти комментарии вероятно, это уместно:

Время от времени вы оказываетесь в ситуации, в которой C ожидает одно выражение, но у вас есть две вещи, которые вы хотите сказать.Наиболее распространенный (и фактически единственный распространенный) пример находится в for цикл, в частности первое и третье управляющие выражения.Что делать, если (например) вы хотите иметь цикл, в котором i считается начиная с 0 Для 10 в то же время , что j ведет обратный отсчет от 10 Для 0?

Итак, ваш инстинкт, что это в основном полезно в for я думаю, что loops - это хороший вариант.

Другие советы

Я иногда использую его в условном (иногда ошибочно называемом "троичным") операторе, если код легче читать, чем разбивать его на реальные if / else:

my $blah = condition() ? do_this(), do_that() : do_the_other_thing();

Он также может быть использован в некотором выражении, где важен последний результат, например, в grep выражение, но в данном случае это то же самое, как если бы использовалась точка с запятой:

my @results = grep { setup(), condition() } @list;
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top