2010-09-10 122 views
0

我有大量不同尺寸的數組。但是,我將它們按順序命名,例如var1,var2等。爲了閱讀,我將有興趣在類似的循環在他們:fortran 90中的循環變量名稱

do i=1,n 
    read(1,*) var<i> 
enddo 

當然,因爲陣列具有不同的尺寸,我不能簡單地增加一個維度,並將它們摺疊成一個單一的一個。

我的印象是,Fortran不允許將字符串轉換爲變量名或類似的東西,所以有人知道如何處理這個?

謝謝!

回答

1

你所要求的基本上是metaprogramming非常)傳統的編譯語言。你不能這樣做。

對於Fortran,我能想到的最接近的就是獲得一個編譯器,它支持Fortran 2003中的一些OO東西,並使用它的運行時多態性。這樣你可以創建一個父類數組,然後爲每個不同的數組邊界組創建一個子類,然後遍歷這些數組。