RESHAPE(SOURCE, SHAPE, PAD, ORDER)

目的

指定された形状の配列を、所定の配列のエレメントから構成します。

クラス

変換関数

引数型および属性

SOURCE
任意の型の配列。この配列が、結果配列のエレメントを供給します。
SHAPE
エレメント数が 20 個までの INTEGER 配列。ランクは 1、サイズは一定です。 結果配列の形状を定義します。すべての エレメントが正整数またはゼロのいずれかです。
PAD (オプション)
データ型と型パラメーターが SOURCE と同じ配列。 SOURCE の形状が変えられて元の配列より大きな配列になる場合に、余分な値を埋めるのに使用されます。これが指定されていないか、ゼロ・サイズ配列である場合、SOURCE は、それより小さいか同じサイズの 別の配列にしか変換できません。
ORDER (オプション)
一定サイズでランクが 1 の INTEGER 配列。 この配列のエレメントは、 (1, 2, …, SIZE(SHAPE)) の順列でなければなりません。これを使用して、 通常の (1, 2, …, rank(RESULT)) ではない次元の順序で、結果にエレメントを挿入できます。

結果値

結果は、形状が SHAPE の配列です。これのデータ型と型パラメーターは SOURCE と同じです。

ORDER で指定された次元の順序に従って、あるいは、ORDER が指定されていない場合は 配列エレメントの通常の順序で、SOURCE の配列エレメントが結果内に配置されます。

SOURCE の配列エレメントの後には、配列エレメント順に PAD の配列エレメントが 続き、その後に、結果の全エレメントが設定されるまで PAD の追加コピーが続きます。

! Turn a rank-1 array into a 3x4 array of the
! same size.
RES= RESHAPE( (/A,B,C,D,E,F,G,H,I,J,K,L/), (/3,4/)
! The result is | A D G J |
!               | B E H K |
!               | C F I L |

! Turn a rank-1 array into a larger 3x5 array.
! Keep repeating -1 and -2 values for any
! elements not filled by the source array.
! Fill the rows first, then the columns.
RES= RESHAPE( (/1,2,3,4,5,6/), (/3,5/), &
  (/-1,-2/), (/2,1/) )
! The result is | 1  2  3  4  5  |
!               |  6 -1 -2 -1 -2 |
!               | -1 -2 -1 -2 -1 |

関連情報

SHAPE(SOURCE, KIND)