2

我想访问一个名称等于我拥有的字符串的真实变量。像这样的东西(我会让这个例子尽可能干净):

character(len=5) :: some_string
real :: value
value = 100.0
some_string = 'value'

此时,如何在字符数组value和我的真实变量的名称 value 之间创建关联,以便我可以通过引用字符串来写入 100.0 的值some_string

4

2 回答 2

2

这在 Fortran 中几乎不会发生。该语言中没有像这样的“动态”语言功能。变量名只是编译时的东西,在运行时根本不存在(名称已被编译器转换为机器地址)。

于 2012-02-13T21:40:56.167 回答
1

这就是我解决这个问题的方法:

character(100) :: s
integer        :: val  
val = 100   
write(s,*) val   
print *,trim(s)

这会将 100 打印到屏幕上。但是有一些我不明白的奇怪之处,字符 s 需要非常大(在他的情况下为 100)。例如,如果您使用 3 而不是 100,则它不起作用。这不是关键的事情,因为使用 trim 解决了这个问题,但如果有人能回答为什么会这样,那就太好了。

无论哪种方式,这应该工作。

于 2012-07-23T16:17:44.033 回答