Fortranです。Fortran90の学習なので拡張子をf90に変えてビルドしていましたが、プログラム自体を全部大文字で書いてました。小文字で書く方がFortranっぽいらしいので、これからは小文字を使っていこうと思います。ところで90以降は、大文字小文字の区別はあるのでしょうか、実験してみます。
takk@deb9:~$ gfortran var.f90 takk@deb9:~$ cat var.f90 program main I=1 i=2 write(*,*) I,i stop end takk@deb9:~$ gfortran var.f90 takk@deb9:~$ ./a.out 2 2 takk@deb9:~$
このように、変数Iとiに別々の値を設定して、表示してみます。
takk@deb9:~$ gfortran var.f90 takk@deb9:~$ ./a.out 2 2 takk@deb9:~$
同じ値が表示されました。変数名の大文字小文字の区別はないようです。
関数はどうでしょうか。
まずは適当に関数を呼び出しするプログラムを作って、
takk@deb9:~$ cat sub.f90 program main call pr() stop end subroutine pr() write(*,*) 'HELLO' end takk@deb9:~$ gfortran sub.f90 takk@deb9:~$ ./a.out HELLO takk@deb9:~$
ビルド、実行確認したら、次にprを大文字にしたPR()を追加します。
takk@deb9:~$ cat sub.f90 program main call pr() stop end subroutine pr() write(*,*) 'HELLO' end subroutine PR() write(*,*) 'HELLO' end takk@deb9:~$
そしてビルド。
takk@deb9:~$ gfortran sub.f90 sub.f90:8:19: sub.f90:5:19: subroutine pr() 2 sub.f90:8:19: subroutine PR() 1 Error: Global name ‘pr’ at (1) is already being used as a SUBROUTINE at (2) takk@deb9:~$
エラーとなりました。やはり大文字小文字の区別はないようです。
gfortranで大文字小文字を区別するオプションは探すことができませんでしたが、他のコンパイラではありそうです。
コメント