【问题标题】:Looping variable names in fortran 90在fortran 90中循环变量名
【发布时间】:2010-09-10 12:18:01
【问题描述】:

我有大量不同维度的数组。但是,我按顺序命名它们,例如 var1、var2 等等。为了阅读它们,我有兴趣以如下方式循环它们:

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

当然,由于数组的维度不同,我不能简单地添加一个维度并将它们折叠成一个维度。

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

谢谢!

【问题讨论】:

    标签: variables loops names fortran90


    【解决方案1】:

    您要问的基本上是(非常)传统编译语言中的metaprogramming。你真的不能那样做。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-10
      • 2019-07-29
      • 2015-10-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多