在fortran 90中循环变量名

时间:2010-09-10 12:18:01

标签: variables loops names fortran90

我有大量不同尺寸的数组。但是,我用连续顺序命名它们,比如var1,var2等等。为了阅读它们,我有兴趣以类似的方式循环它们:

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

当然,由于阵列具有不同的尺寸,我不能简单地添加尺寸并将它们折叠成一个尺寸。

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

谢谢!

1 个答案:

答案 0 :(得分:1)

您所要求的内容基本上是{{3>}一种(非常)传统编译语言。你真的不能这样做。

我能想到的最接近Fortran的是获取支持metaprogramming中某些OO内容的编译器,并使用其运行时多态性。这样你就可以创建一个父数组类,然后为每个不同的数组边界集创建一个子类,然后遍历这些数组的数组。