アニメ『ぬいぐるパパ』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:~$
続く


コメント