「ループ変数」の版間の差分
imported>GamerBook |
imported>Fallout New Tokyo |
||
1行目: | 1行目: | ||
− | [[ループ変数]] | + | [[ループ変数]](英語:loop variable)とは、[[繰り返し処理]]において繰り返した回数を数えるための用いる[[変数]]のことである。英語圏では[[ループカウンター]](英語:loop counter)と呼ばれることが多い。 |
− | |||
== 変数名 i, j, k == | == 変数名 i, j, k == | ||
9行目: | 8行目: | ||
[[Fortran]]の教科書では[[保守性]]が良くなるので implicit none は必ず使えと書いてあるが、多くの[[プログラマー]]はそんな面倒なことなど無視して暗黙の型宣言を乱用しまくった結果、[[プログラミング言語]]の枠を超えてループ変数は i, j, k, l, m, n の6文字が一大勢力を持つようなったと言われている。 | [[Fortran]]の教科書では[[保守性]]が良くなるので implicit none は必ず使えと書いてあるが、多くの[[プログラマー]]はそんな面倒なことなど無視して暗黙の型宣言を乱用しまくった結果、[[プログラミング言語]]の枠を超えてループ変数は i, j, k, l, m, n の6文字が一大勢力を持つようなったと言われている。 | ||
− | なお、[[Fortran]]以外ではまったく意味のないものであり、[[フォント]] | + | なお、[[Fortran]]以外ではまったく意味のないものであり、[[フォント]]によっては「i」と「j」は非常に見分けづらいため、a でも i でも z でも好きなものを使え。そんなものはどうでもいい話である。 |
== 例 == | == 例 == |
2014年2月19日 (水) 01:43時点における最新版
ループ変数(英語:loop variable)とは、繰り返し処理において繰り返した回数を数えるための用いる変数のことである。英語圏ではループカウンター(英語:loop counter)と呼ばれることが多い。
変数名 i, j, k[編集 | ソースを編集]
ループ変数と言っても普通の変数であり、どのような変数名にしようとプログラマーの勝手だが、古くから i, j, k という文字が広く用いられている。
これは太古の時代に一大勢力を誇ったFortranでは「implicit none」と記述していない場合は変数の型宣言が必要なく、その場合は変数名の頭文字で型が決定する仕様であり、変数名の頭文字が a~h および o~z で始まる変数は基本実数型、i~n で始まる変数は基本整数型となる。これをFortranの暗黙の型宣言という。
Fortranの教科書では保守性が良くなるので implicit none は必ず使えと書いてあるが、多くのプログラマーはそんな面倒なことなど無視して暗黙の型宣言を乱用しまくった結果、プログラミング言語の枠を超えてループ変数は i, j, k, l, m, n の6文字が一大勢力を持つようなったと言われている。
なお、Fortran以外ではまったく意味のないものであり、フォントによっては「i」と「j」は非常に見分けづらいため、a でも i でも z でも好きなものを使え。そんなものはどうでもいい話である。
例[編集 | ソースを編集]
C# - forループ[編集 | ソースを編集]
C#によるループ変数 i および j を使ったfor文による繰り返し処理の記述例を示す。
int i, j;
for (i = 0; i < 100; i++)
{
for (j = 0; j < 100; j++)
{
same_function(i, j);
}
}
上記のソースコードはC#では以下のように書くこともできる。ただしこの場合はfor文は1つのスコープとなるため、ループ変数 j が何度も生成・初期化されてしまい実行速度に影響を及ぼすことがある。しかしながらそのような悪影響を気にしなくても良い場合であれば、変数宣言と利用箇所の近く、スコープ外で不用意に再利用される恐れもないため、こちらの記述方法の方が保守性は良いとしている教科書もある。なお、逆に変数の宣言が関数の途中でバラバラに乱立すると保守性が悪いとする教科書もあるので一概には言えない話である。
for (int i = 0; i < 100; i++)
{
for (int j = 0; j < 100; j++)
{
same_function(i, j);
}
}