0
更改函数是否可以根据参数值更改调用程序的函数?我正在考虑类似于函数重载的东西,下面的例子显示了我在想什么。我只是想知道是否有更清洁/更好的方法来做到这一点。Fortran:根据参数
function squareArea(s) result(A)
real :: s, A
A = s*s
end function squareArea
function circleArea(r) result(A)
real :: r, A
A = 3.14159 * r * r
end function circleArea
function Area(shape, dim) result(A)
character(len = *) shape
real dim, A
if (shape == 'circle') then
A = circleArea(dim)
elseif (shape == 'square') then
A = squareArea(dim)
end if
end function Area
program main
character(len = 6) :: sh = 'circle'
real :: r = 1.4
real :: A
A = Area(sh, r)
write(*,*) sh, r, A
end program main
如果我在if语句和你的方法之间有任何明显的时间差异,我是否可以称此为数百万次? – user1543042
这取决于..... – IanH