京都駅前に原神とか…。ごきげんよう。
for文ってもっと汎用性のある文法だと思ってまして。
たとえば以下のような、whileループの中で何かをカウントするときはfor文でまとめてやってしまいます。
int rows = 0; String line; while ((line = reader.readLine()) != null) { // Process line rows++; if (rows >= 10) { break; } }
String line; for (int rows = 0; rows < 10 && (line = reader.readLine()) != null; rows++) { // Process line }
2要素目の条件式のところはどんな複雑な条件でも書けます。
1要素目の初期値、3要素目の繰り返し処理も、カンマ区切りで複数の変数を扱えます。
これだけ一つのブロック内でいろいろ書けるのだから可能性は無限大のはずです。
カウントアップにしか使わないなんてもったいない。
ですが、他にこんなコーディングしている人を見かけません。
原因はうすうす気づいてまして、それは可読性の悪さ。
for文はカウントアップだけ書いたほうがすっきりする、と考えている人が多いのでしょう。
コードの行数や変数のスコープなんかパフォーマンスに影響しませんし、それよりも読みやすさが重要ということなのかなと。
0 件のコメント: