5

forループ以外の場所でスカラー コンマ演算子を使用する理由はありますか?

4

2 に答える 2

7

Perl のスカラー コンマは C のコンマ演算子の「ポート」であるため、これらのコメントはおそらく適切です。

ときどき、C が単一の式を期待している状況に陥ることがありますが、言いたいことが 2 つあります。最も一般的な (そして実際には唯一の一般的な) 例は、forループ、具体的には 1 番目と 3 番目の制御式にあります。(たとえば) から までカウントアップすると同時に から までカウントダウンするループが必要な場合はどうすればiよいでしょ 0うか?10j100

ですから、主にループで役立つというあなたの本能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 に答える