- 신규로 표시
- 북마크
- 구독
- 소거
- RSS 피드 구독
- 강조
- 인쇄
- 부적절한 컨텐트 신고
Does Fortran provide any sort of internal namlist read from a character array buffer?
If so, how does the character data in the namelistget read?
링크가 복사됨
5 응답
- 신규로 표시
- 북마크
- 구독
- 소거
- RSS 피드 구독
- 강조
- 인쇄
- 부적절한 컨텐트 신고
Fortran 95 disallows it but Fortran 2003 allows it. Intel Fortran does not yet support this.
Here's what it would look like:
namelist /n/ i,j,k
integer i,j
character(10) k
character(20) lines(3)
lines(1) = '&n i=1,'
lines(2) = 'j=3'
lines(3) = 'k="abcde" '
read (lines,n)
write (*, n)
end
Here's what it would look like:
namelist /n/ i,j,k
integer i,j
character(10) k
character(20) lines(3)
lines(1) = '&n i=1,'
lines(2) = 'j=3'
lines(3) = 'k="abcde" '
read (lines,n)
write (*, n)
end
- 신규로 표시
- 북마크
- 구독
- 소거
- RSS 피드 구독
- 강조
- 인쇄
- 부적절한 컨텐트 신고
This feature has not yet been targeted to a specific release, so I have no answer for you. I suggest you look for alternatives, such as writing the data to a temp file and reading it from the file.
- 신규로 표시
- 북마크
- 구독
- 소거
- RSS 피드 구독
- 강조
- 인쇄
- 부적절한 컨텐트 신고
Steve,
Alternate name list seems quite neat. Takes me back to the days of FOCAL (1968) and some of the other interpreter languages (BASIC)where you could execute the contents of a string variable.
Questions:
Can expressions exist to right of '=' or are you limited to initialization statements only?
If expressions are supported, can userfunctions be called?
Jim
- 신규로 표시
- 북마크
- 구독
- 소거
- RSS 피드 구독
- 강조
- 인쇄
- 부적절한 컨텐트 신고
The values follow the same rules as list-directed input. No expressions. All that is being asked for here is Namelist input from an internal file. Namelist input is already supported from a "regular" file - that's a F90 feature (and a popular extension to F77.)
