目的
1 次元配列からいくつかのまたは全部の配列をとり、再調整して別の (ほとんどの場合、より大きい) 配列にします。
クラス
変換関数
引き数の型と属性
結果の値
結果は MASK と同じ形状と、VECTOR と同じデータ型を持つ配列になります。
結果のエレメントは配列エレメント順に埋め込まれます。つまり、MASK 内の対応するエレメントが .TRUE. である場合は、結果のエレメントは VECTOR の次のエレメントで埋め込まれます。 それ以外の場合は、FIELD の対応するエレメントで埋め込まれます。
例
! VECTOR is the array (/ 5, 6, 7, 8 /), ! MASK is | F T T |, FIELD is | -1 -4 -7 | ! | T F F | | -2 -5 -8 | ! | F F T | | -3 -6 -9 | ! Turn the one-dimensional vector into a two-dimensional ! array. The elements of VECTOR are placed into the .TRUE. ! positions in MASK, and the remaining elements are ! made up of negative values from FIELD. RES = UNPACK( VECTOR, MASK, FIELD ) ! The result is | -1 6 7 | ! | 5 -5 -8 | ! | -3 -6 8 | ! Do the same transformation, but using all zeros for the ! replacement values of FIELD. RES = UNPACK( VECTOR, MASK, FIELD = 0 ) ! The result is | 0 6 7 | ! | 5 0 0 | ! | 0 0 8 |