TVアニメ「ネト充のススメ」プロモーション映像
アニメ『ネト充のススメ』(2017)
退職してネトゲ生活。なんて羨ましい。いつかしてみたいです。自ら進んでネトゲ生活を送る主人公は、エリートニートで、つまりリア充かなと思います。
今はネトゲ内での課金はしたことがないのですが、将来のために、課金用のお金も貯めておかないとなりません。
FORTRAN続きです。また知らない仕様の発見です。長く学習している甲斐があります。
変数の結合というか、CのUNIONのような機能ですが、手元の古い77の教科書には結合とありました。配列要素の結合です。
takk@deb9:~$ cat equ1.f PROGRAM MAIN INTEGER A(5),B(5) EQUIVALENCE (A(1),B(1)) A(1)=10 WRITE(*,11111) B(1) 11111 FORMAT(I5) STOP END takk@deb9:~$ gfortran equ1.f takk@deb9:~$ ./a.out 10 takk@deb9:~$
EQUIVALENCEにて配列Aと配列Bを結合しました。
Aに値を入れると、Bでも読み出せるようになります。もちろんBに値を入れてAから読み出すこともできます。シンボリックリンクみたいです。
結合する配列の位置をずらすこともできます。
takk@deb9:~$ cat equ2.f PROGRAM MAIN INTEGER A(5),B(5) EQUIVALENCE (A(3),B(1)) A(3)=10 A(4)=20 A(5)=30 WRITE(*,11111) B(1),B(2),B(3) 11111 FORMAT(3I5) STOP END takk@deb9:~$ gfortran equ2.f takk@deb9:~$ ./a.out 10 20 30 takk@deb9:~$
上のようにA(3)とB(1)をEQUIVALENCEで結びつけると、B(2)以降もAの対応する配列と結合されます。
文字列配列も同じようにできます。結合する変数の型は合わせないといけません。
takk@deb9:~$ cat equ3.f PROGRAM MAIN CHARACTER*8 A(3),B(3) EQUIVALENCE (A(1),B(2)) A(1)='111' A(2)='222' A(3)='333' WRITE(*,11111) B(3) 11111 FORMAT(A10) STOP END takk@deb9:~$ gfortran equ3.f takk@deb9:~$ ./a.out 222 takk@deb9:~$
配列変数の結合は、変数2つ限定ではなく、多数(複数)できます。
takk@deb9:~$ cat equ4.f PROGRAM MAIN INTEGER A(5),B(5),C(5) EQUIVALENCE (A(1),B(2),C(3)) A(1)=10 A(2)=20 A(3)=30 WRITE(*,11111) B(3),C(5) 11111 FORMAT(2I5) STOP END takk@deb9:~$ gfortran equ4.f takk@deb9:~$ ./a.out 20 30 takk@deb9:~$
コメント