for
ループ以外の場所でスカラー コンマ演算子を使用する理由はありますか?
1155 次
2 に答える
7
Perl のスカラー コンマは C のコンマ演算子の「ポート」であるため、これらのコメントはおそらく適切です。
ときどき、C が単一の式を期待している状況に陥ることがありますが、言いたいことが 2 つあります。最も一般的な (そして実際には唯一の一般的な) 例は、
for
ループ、具体的には 1 番目と 3 番目の制御式にあります。(たとえば) から までカウントアップすると同時に から までカウントダウンするループが必要な場合はどうすればi
よいでしょ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 に答える