解除分配UNASSIGN

艾靑發表於2024-12-10

UNASSIGN <FS>.

該語句是初始化<FS>欄位符號,語句執行後,欄位符號將不再引用記憶體區域(它指向的記憶體區域不會受影響),邏輯表示式<fs> IS ASSIGNED將會返回假。

CLEAR <FS>.

與UNASSIGN不同的是,只有一個作用就是初始化它所指向的記憶體區域,而欄位符號本身並沒有被解除分配

DATA: C VALUE 'a'.
FIELD-SYMBOLS: <FS1>,<FS2>.
ASSIGN C TO <FS1>.
ASSIGN C TO <FS2>.
WRITE: / <FS1>,<FS2>.
UNASSIGN <FS1>.
IF NOT <FS1> IS ASSIGNED.
  WRITE: / 'fs1 is unassigned'.
ENDIF.
WRITE: / '<fs2>=',<FS2>.

CLEAR: <FS2>.
IF <FS2> IS ASSIGNED.
  WRITE: / 'fs2 is assigned'.
ENDIF.
WRITE: / '<fs2>=',<FS2>.

相關文章