可能是一个愚蠢的问题,但有没有办法为变量的离散值运行循环?最新版本怎么样?
像
这样的东西for i in 1 5 9 11 31 77
用于Unix shell脚本?
感谢。
答案 0 :(得分:5)
integer, dimension (5) :: indx = [5, 9, 11, 31, 71]
do i=1, size(indx)
j=indx(i)
....
end do
答案 1 :(得分:0)
我不确定这是否有帮助,但你可以使用数组作为索引
program Console1
implicit none
! Variables
INTEGER :: X(4) = (/ 1, 3, 5, 7 /)
REAL :: Y(10) = 0.0
! Body of Console1
print *, X
! 1 3 5 7
Y(X) = 10.0/X
print *, Y
! 10.0 0.0 3.33 0.0 2.00 0.0 1.428 0.0 ...
end program Console1
答案 2 :(得分:0)
您也可以使用隐含的do循环来完成此操作,但您必须按上述方式定义值数组:
integer, dimension (5) :: indx = [5, 9, 11, 31, 71]
integer, dimension (5) :: rslt
integer, external :: func
rslt = (/ func(indx(j)), j=1,5 /)