文:組込み代入は非ポインタ変数に値を代入するために使用されます。ポインタの場合,組込み代入はポインタ変数に結合されている指示先に値を代入するために使用されます。変数 (または指示先) に代入された値は,等号の右辺の式を評価することによって決定されます。
形式
variable = expression
variable
組込み型または (ユーザー定義代入を持たない) 構造型のスカラまたは配列の名前。配列は大きさ引継ぎ配列であってはならず,スカラまたは配列を PARAMETER または INTENT(IN) 属性を使って宣言することはできません。
expression
組込み型,または variable と同じ構造型。その形状は variable に適合しなくてはなりません。必要ならば,variable と同じ型と種別値に変換されます。
規則と振る舞い
変数に値が代入される前に,代入文中の式の部分と変数中のすべての式が評価されます。変数中の式の定義は,代入文式の部分の評価に影響を与えてはならず,またこれの影響を受けることもできません。
変数がポインタである場合,確定可能な指示先に結合されていなくてはなりません。指示先と式の形状は適合していなくてはならず,その型と種別パラメタは一致しなくてはなりません。
cDEC$ NOSTRICT コンパイラ指示文 (基本設定) が有効であれば,文字式を非文字変数に代入することができ,非文字変数または配列要素 (しかし式ではない) を文字変数に代入することができます。
互換性
CONSOLE STANDARD GRAPHICS QUICKWIN GRAPHICS WINDOWS DLL LIB
関連情報
Assignment (=) - ユーザー定義代入,NOSTRICT
例
REAL a, b, c
LOGICAL abigger
CHARACTER(16) assertion
c = .01
a = SQRT (c)
b = c**2
assertion = 'a > b'
abigger = (a .GT. b)
WRITE (*, 100) a, b
100 FORMAT (' a =', F7.4, ' b =', F7.4)
IF (abigger) THEN
WRITE (*, *) assertion, ' is true.'
ELSE
WRITE (*, *) assertion, ' is false.'
END IF
END
! 上記の異例は以下を出力します。
! a = .1000 b = .0001 a > b is true.
! 以下は有効,無効な代入文の例を示しています。
!
INTEGER i, j
REAL rone(4), rtwo(4), x, y
COMPLEX z
CHARACTER name6(6), name8(8)
i = 4
x = 2.0
z = (3.0, 4.0)
rone(1) = 4.0
rone(2) = 3.0
rone(3) = 2.0
rone(4) = 1.0
name8 = 'Hello,'
! 以下の代入文は有効です:
i = rone(2); j = rone(i); j = x
y = x; y = z; y = rone(3); rtwo = rone; rtwo = 4.7
name6 = name8
! 以下の代入文は無効です:
name6 = x + 1.0; int = name8//'test'; y = rone
END