ナビゲーション:前へ 上へ 次へ
10.7 入出力 [大部分 5.3]
-
NEWUNIT=
指定子がOPEN
文に追加されました。 これにより他の論理装置番号と重ならない新しい特別な装置番号(負の値)を割り付けることができるようになりました。
例)INTEGER unit OPEN(FILE='output.log',FORM='FORMATTED',NEWUNIT=unit) WRITE(unit,*) 'Logfile opened.'
NEWUNIT=
指定子はFILE=
指定子を指定した場合か、 もしくはSTATUS=
指定子に'SCRATCH'
を指定した場合にのみ利用可能です。 -
別の装置に対する再帰入出力は許されています。
例えば
Write (*,Output_Unit) f(100)
において関数f
はOutput_Unit
以外の装置に対しての入出力が許されています。 例えば値100が範囲外である場合に以下のようにエラーメッセージを出力しても問題はありません。Write (*,Error_Unit) 'Error in F:',n,'is out of range'
-
[6.0] 副書式はアスタリスク(
*
)を指定して無限回数の繰り返しが可能です。 例えばSUBROUTINE s(x) LOGICAL x(:) PRINT 1,x 1 FORMAT('x =',*(:,' ',L1)) END SUBROUTINE
は配列x
の全体をその成分数がいくつであっても一行に表示します。 不定の繰り返し回数は書式指定の最上位レベルでのみ許されていて且つ最後の書式項目である必要があります。 -
[6.0] 編集記述子
G0
及びG0.
dは先頭と末尾のすべての空白を省略して一般化された編集を行います。 例えばPRINT 1,1.25,.True.,"Hi !",123456789 1 FORMAT(*(G0,','))
は以下を出力します。1.250000,T,Hi !,123456789,
[7.2]
G0.
d は Fortran 2008 では Integer, Logical, または Character データの出力に使用することが許可されていませんでしたが、この制限は Fortran 2018 によって取り除かれました。