何のことかというと、Fortran で暗黙のうちで整数型とされる変数の頭に来る文字。
昔はわざわざ実数型とか整数型とか気にする必要がなかったんですよね。
まぁ、実数型の方は科学技術計算の場合は計算精度のために倍精度にしたりしましたが、その場合は IMPLIICIT REAL*8 (A-H,O-Z)として I~N 以外ではじまる文字列を倍精度になるように定義していたんですよね。
今は implicit none にして暗黙の型宣言をしないで全ての変数を宣言することが推奨されていますが、今だに整数型は I~N ではじまっていないと居心地が悪いです。まぁ、全ての変数の宣言をしなくてはいけないというのは、最近の言語では常識なんですけどね。
perlでもmyでローカル変数を宣言しますよね。
LISPではしないか。
ちなみに、今だにループのカウンターとして I が今だに使われますが、これはFortranで整数型が I~N からはじまる文字列だったことの名残りですね。
PROGRAM TEST 0000000
DO 100 I=1,10 0000000
WRITE(6,1000) I 0000000
100 CONTINUE 0000000
1000 FORMAT(1H ,I4) 0000000
STOP 0000000
END 0000000
古い処理系だと、79カラム目から識別用の数字とかコメントとか入っていました。78カラム目までしかコードとして認識されなかったものですから。
今なら、
program test
integer(kind=4) :: i
do i=1,10
write(6,’(1x,i4)’) i
end do
end
Cだと、
#include <stdio.h>
int main() {
for(int i=0;i<10;i++){
printf(" %4d\n",i+1);
}
}
ああ、Cの場合は古いコンパイラーではforの中でint宣言をできないみたいですね。C++としてコンパイルするか、C99の規格としてコンパイルする必要があるんですね。