是否有任何理由在for
循环以外的任何地方使用标量逗号运算符?
问问题
1155 次
2 回答
7
由于 Perl 标量逗号是 C 逗号运算符的“端口”,因此这些注释可能是恰当的:
有时,您会发现自己处于 C 期望一个表达式的情况,但您有两件事要说。最常见的(实际上也是唯一常见的)示例是在
for
循环中,特别是第一个和第三个控制表达式。如果(例如)您想要一个循环从toi
向上计数,同时 从to向下计数怎么办?0
10
j
10
0
所以,我认为它主要在循环中有用的直觉for
是一个很好的直觉。
于 2010-02-04T15:24:57.830 回答
3
我偶尔会在条件(有时被错误地称为“三元”)运算符中使用它,如果代码比将其分解为真正的 if/else 更容易阅读:
my $blah = condition() ? do_this(), do_that() : do_the_other_thing();
它也可以用于最后一个结果很重要的某些表达式中,例如在grep
表达式中,但在这种情况下,它就像使用分号一样:
my @results = grep { setup(), condition() } @list;
于 2010-02-04T16:20:25.793 回答