2010-09-10 124 views
0

我有大量不同尺寸的数组。但是,我将它们按顺序命名,例如var1,var2等。为了阅读,我将有兴趣在类似的循环在他们:fortran 90中的循环变量名称

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

当然,因为阵列具有不同的尺寸,我不能简单地增加一个维度,并将它们折叠成一个单一的一个。

我的印象是,Fortran不允许将字符串转换为变量名或类似的东西,所以有人知道如何处理这个?

谢谢!

回答

1

你所要求的基本上是metaprogramming非常)传统的编译语言。你不能这样做。

对于Fortran,我能想到的最接近的就是获得一个编译器,它支持Fortran 2003中的一些OO东西,并使用它的运行时多态性。这样你可以创建一个父类数组,然后为每个不同的数组边界组创建一个子类,然后遍历这些数组。