2012-02-13 2 views
1

나는 가지고있는 문자열과 같은 이름으로 실제 변수에 접근하고 싶다. 이런 식으로 뭔가 (I 가능한 한 깨끗한 예제를 만들거야) :이 시점에서Fortran에서 문자열을 변수 이름으로 해석하기

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

, 나는 그 때문에, 문자 배열 value 내 실제 변수의 이름, 값 사이의 연결을 만들 어떻게 문자열 some_string을 참조하여 100.0의 값을 쓸 수 있습니까?

+0

이 질문은 오랫동안 올바르게 태그되지 않았고 다른 하나는 더 많은 관심과 더 좋은 답변을 얻었 기 때문에 약간 더 오래된 질문을 마감했습니다. 이 사람은 비록 더 좋은 타이틀을 가지고 있었다. 어떤 이의 제기? –

답변

1

포트란에서 일어날 일은 거의 없습니다. 이 언어에서 사용할 수있는 "동적 인"언어 기능은 없습니다. 변수 이름은 컴파일 타임에만 존재하며 런타임에는 존재하지 않습니다 (이름은 컴파일러에서 컴퓨터 주소로 변환되었습니다).

+0

으. 빠른 응답을 주셔서 감사합니다. 나는 이것을 두려워했다. 왜 모든 것이 펄과 같을 수없는 ... – Taylor

+0

진행을위한 제안? 일반적으로 사용되는 해결 방법은 무엇입니까? – Taylor

+1

나는 이것을 왜 할 필요가 있다고 생각하는지, 그리고 코드를 재구성 할 필요가 없다고 생각하는 이유를주의 깊게 살펴볼 것을 제안합니다. 방법은 항상있다. –

1

이것은 내가이 문제를 해결하는 방법입니다

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

이 화면에 (100)를 인쇄합니다. 내가 이해하지 못하는 일부 기묘함이 있지만, 캐릭터는 매우 커야합니다 (그의 경우는 100입니다). 예를 들어, 100 대신 3을 사용하면 작동하지 않습니다. 트림을 사용하면이 문제를 해결할 수 있기 때문에 이것은 중요하지 않습니다. 그렇다면 왜 누군가가 대답 할 수 있다면 좋을 것입니다.

어느 쪽이든, 이것은 효과가 있습니다.

관련 문제