最近中ボスに言われて研修に来ている学生さんにFortranと数値計算を教えているんですが、学生さんが書いたコードに
integer :: end = 0
みたいなのがあったのです。
「endはFortranでは予約語だから変数名に使ってはいけないよ」と言ったのですが、gfortranではエラーになってる様子はなかったんですね。
ここを読んでいたら今またそれを思い出しまして、ちょっと調べてみましたところ驚くべき結果が!(物を知らないねこさん限定で)
試しに
program if
print*,'code 2'
end program if
program code3
integer :: if
if = 3
print*,if
end program code3
とかいうコードを書いてもちゃんとコンパイルできるし、ちゃんと動く…今まで使ってきて「Fortranには予約語がない」という、どう考えても基本的な事実すらねこさんは全然知らなんだー orz もっと勉強せねばなー。
来週、学生さんに謝っておかねば。
0 件のコメント:
コメントを投稿