アニメ『ぬいぐるパパ』PV
アニメ『ぬいぐるパパ』
短いので時間がないときにも見れます。
FORTRANです。
パラメータ数によりふるまいを変えてみます。
コマンドのパラメータ数を取得するには、IARGC()関数を使います。関数なのでCALLは不要です。
takk@deb9:~$ cat argc.f PROGRAM argument_num I = IARGC() 11111 WRITE(*,22222) I 22222 FORMAT(I3) STOP END takk@deb9:~$
上のプログラムの実行結果です。
takk@deb9:~$ gfortran argc.f takk@deb9:~$ ./a.out a 1 takk@deb9:~$ ./a.out a b c d 4 takk@deb9:~$ ./a.out 0 takk@deb9:~$
パラメータ数でふるまいを変えるには、IF文を使います。77の頃はCASEがなかったようです。
パラメータなしの場合、1,2,3の場合、4つ以上の場合のふるまいを変えるプログラムです。
takk@deb9:~$ cat select.f PROGRAM argument_num I = IARGC() IF(I.EQ.0) THEN WRITE(*,10000) END IF IF(I.EQ.1) THEN WRITE(*,10001) END IF IF(I.EQ.2) THEN WRITE(*,10002) END IF IF(I.EQ.3) THEN WRITE(*,10003) END IF IF(I.GT.3) THEN WRITE(*,10004) END IF 10000 FORMAT('NOTHING ') 10001 FORMAT('PARAMETER NUM=1') 10002 FORMAT('PARAMETER NUM=2') 10003 FORMAT('PARAMETER NUM=3') 10004 FORMAT('OVER') STOP END takk@deb9:~$
実行結果です。
takk@deb9:~$ gfortran select.f takk@deb9:~$ ./a.out NOTHING takk@deb9:~$ ./a.out aa PARAMETER NUM=1 takk@deb9:~$ ./a.out aa bb PARAMETER NUM=2 takk@deb9:~$ ./a.out aa bb cc PARAMETER NUM=3 takk@deb9:~$ ./a.out aa bb cc dd OVER takk@deb9:~$
続く
コメント