저는 컴파일러가 정수 배열을 다른 배열의 인덱스로 사용할 수 있다는 사실을 발견했습니다. 예를 들어이 언어 기능보다는 뭔가 컴파일러 단지로 날 수 있습니다 경우배열 값 배열 인덱스
implicit none
real*8 :: a(3), b(2)
integer :: idx(2)
a=1.d0
idx=(/1,2/)
b = a(idx)
print*,shape(b)
print*,b
print*
end
이이 gfortan과 PGI 컴파일러 모두 작동하는 것으로 보인다는 사실을 감안할 때, 궁금하네요. 이것이 정말로 언어 기능이라면 나보다 지식이 많은 사람이 논평 할 수 있다면 고맙겠습니다. 이 경우
그리고, 누군가가 여기에 같은 다차원 경우에 해석하는 방법과 같은 구조물의 정확한 언어 규칙을 밖으로 철자한다면 내가 감사하는 것보다 :
는implicit none
real*8 :: aa(3,3), bb(2,2)
integer :: idx(2)
do i=1,3 ; do j=1,3
aa(i,j) = 1.d0*(i+j)
enddo; enddo
bb=aa(idx,idx)
print*,shape(bb)
print*,bb
end