我想访问一个名称等于我拥有的字符串的实变量。像这样的东西(我会尽可能地让这个例子干净):
character(len=5) :: some_string
real :: value
value = 100.0
some_string = 'value'
此时,如何在字符数组value
和我的实变量name的名称之间创建关联,以便我可以通过引用字符串{{1}来写入值100.0 }?
答案 0 :(得分:1)
在Fortran中几乎不会发生这种情况。此语言中没有此类“动态”语言功能。变量名是仅编译时的东西,并且在运行时根本不存在(编译器已将名称转换为机器地址)。
答案 1 :(得分:1)
这是我解决这个问题的方法:
character(100) :: s
integer :: val
val = 100
write(s,*) val
print *,trim(s)
这将100打印到屏幕上。然而,有些奇怪的东西我不明白,角色需要非常大(在他的情况下为100)。例如,如果您使用3而不是100,则它不起作用。这不是一件至关重要的事情,因为使用修剪可以解决这个问题,但如果有人能够回答为什么会这样,那就太好了。
无论哪种方式,这都应该有用。