多くの言語(CからJavaScriptまでの幅広いリスト):
,
引数をコンマで区切る(例func(a, b, c)
)- セミコロンで
;
区切られた順次命令(例instruction1; instruction2; instruction3
)。
したがって、同じ言語のforループでこのマッピングが逆になっているのはなぜですか:
for ( init1, init2; condition; inc1, inc2 )
{
instruction1;
instruction2;
}
代わりに(私にとってより自然に見えるもの)
for ( init1; init2, condition, inc1; inc2 )
{
instruction1;
instruction2;
}
?
確かに、for
(通常は)関数ではなく、引数(すなわちinit
、condition
、increment
)より、関数の引数のような一連の命令よりも動作します。
それは歴史的な理由/慣習によるものですか、それともループの交換,
と;
ループの良い根拠がありますか?
;
ないの|
か」ではない(または「その他」ではなく「その他」を使用するのはなぜか)ではない)です。これは1つの言語ではなく、多数の言語です。例えば、「whileループの短縮形としてCで作成され(また、incの複数のステートメントは後で考えられた)、プログラマーの苛立ちを避けるために人々はそれを変更したくなかった」という答えはまったく問題ありません。