私は別の人から得たコードに苦労しています。彼はモジュールを使用して、メインルーチンが必要とする配列を供給します。私は、必要なのはその Fortran:モジュールで値を割り当てる方法
INTEGER :: i
REAL :: myArray(3001)
DATA (myArray(i),i=1,100)/&
500., 501., 502., 503., [...] 599./
DATA (myArray(i),i=101,200)/&
600., 601., [...], 699./
[...]
DATA (myArray(i),i=2901,3001)/&
[...] 3498., 3499., 3500./
今、私には、これは非常に複雑なようだ
を書き込むことによって、500から3500彼がやったに番号を持つ配列です!また、myArrayにIntegersを含める必要がありますが、もちろんこれらの点をすべて削除したくありません。
だから最初は、私はこの試みた:
Do i=1,3001
myArray(i) = i+499
End Do
しかし、私は
を取得し、 "エラー#6274:このステートメントは、モジュールの仕様部分 に表示されていなければなりません"
どうすればいいですか?
明示的な初期化(「コンパイル時」の意味で、実行可能ステートメントを使用する)の意味がない場合は、[この他の質問](http://stackoverflow.com/q/30073737 )が適用されます。しかし、実際には、[配列のコンストラクタ](http://stackoverflow.com/documentation/fortran/996/arrays/6858/array-constructors#t=201608291552201114144)暗黙のうちに明示的に初期化された配列を取得するには問題はありません。 – francescalus