TVアニメ「Code:Realize~創世の姫君~」PV第2弾
アニメ『Code:Realize~創世の姫君~』(2017)
一話見ただけですが、普通に面白かったです。
FORTRAN77のことは分かってきたつもりですが、いまだにまったく使えていないのが文字列です。プログラマーの感を働かせても使い方がまったく分かりません。
相変わらず古い教科書が頼りです。
いまどきの言語なら、文字列はa = ‘hello’とやるだけで使えてしまいますが、FORTRAN77では、宣言が必要です。しかも文字列のサイズも指定してやる必要があります。
宣言の方法は、
CHARACTER*サイズ 変数名
です。
このように使います。
takk@deb9:~$ cat string.f PROGRAM MAIN CHARACTER*3 S S='ABC' WRITE(*,11111) S 11111 FORMAT(A5) STOP END takk@deb9:~$ gfortran string.f takk@deb9:~$ ./a.out ABC takk@deb9:~$
初めて出てきましたが、FORMATで文字列を指定する場合は、Aを使います。
次は文字列結合します。
文字列結合は、
変数C = 変数A//変数B
で、できます。
最初に動かないプログラムを見ます。
takk@deb9:~$ cat string.f PROGRAM MAIN CHARACTER*10 S1,S2,S S1='ABC' S2='DEF' S=S1//S2 WRITE(*,11111) S 11111 FORMAT(A10) STOP END takk@deb9:~$ gfortran string.f takk@deb9:~$ ./a.out ABC takk@deb9:~$
S=S1//S2で結合しているはずなのに、ABCしか表示されません。
今はまだ知識不足で原因不明なのですが、こうすれば動きました。
takk@deb9:~$ cat string.f PROGRAM MAIN CHARACTER*3 S1,S2,S*10 S1='ABC' S2='DEF' S=S1//S2 WRITE(*,11111) S 11111 FORMAT(A10) STOP END takk@deb9:~$ gfortran string.f takk@deb9:~$ ./a.out ABCDEF takk@deb9:~$
やはり古いプログラミング言語は、制約が多そうで覚えるのが難解です。
まあ、それが面白いんですが。
コメント