В Фортране, можно ли определить функцию, которая возвращает несколько значений, как показано ниже?Функция, которая возвращает несколько значений
[a, b] = myfunc(x, y)
В Фортране, можно ли определить функцию, которая возвращает несколько значений, как показано ниже?Функция, которая возвращает несколько значений
[a, b] = myfunc(x, y)
Это зависит ... С functions
, это не возможно иметь два различных результатов функции. Тем не менее, вы можете иметь массив длины, возвращаемый функцией.
function myfunc(x, y)
implicit none
integer, intent(in) :: x,y
integer :: myfunc(2)
myfunc = [ 2*x, 3*y ]
end function
Если вам нужны два значения возврата в двух различных переменных, использовать вместо subroutine
:
subroutine myfunc(x, y, a, b)
implicit none
integer, intent(in) :: x,y
integer, intent(out):: a,b
a = 2*x
b = 3*y
end subroutine
Спасибо, Александр. Ваш ответ - именно то, что я искал! –
@francescalus Спасибо, что сообщили мне об этом! –
Он может вернуть несколько значений (см ниже), но вы не можете иметь несколько назначений в одном как в Python. –