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:~$


コメント