有没有理由在for
循环以外的任何地方使用标量逗号运算符?
答案 0 :(得分:7)
由于Perl标量逗号是C逗号运算符的“端口”,these comments可能是适当的:
有一段时间,你会发现自己 C期望的情况 单表达,但你有两个 你想说的话。最多 共同的(实际上是唯一的共同) 示例是在
for
循环中,具体而言 第一和第三控制 表达式。如果(例如)你怎么办? 希望有一个i
计数的循环 同时从0
升级到10
j
从10
倒计时到0
?
所以,我认为你在for
循环中主要有用的直觉是好的。
答案 1 :(得分:3)
我偶尔会在条件(有时被错误地称为“三元”)运算符中使用它,如果代码更容易阅读而不是将其分解为真正的if / else:
my $blah = condition() ? do_this(), do_that() : do_the_other_thing();
它也可以用在最后一个结果很重要的某个表达式中,例如在grep
表达式中,但在这种情况下,它与使用分号时的结果相同:
my @results = grep { setup(), condition() } @list;