0
我想知道我是否必須爲Fortran 90中的函數提供參數?我能否擁有一個不帶參數的函數,例如Java中的函數例如,get()
?Fortran 90函數沒有參數?
我想知道我是否必須爲Fortran 90中的函數提供參數?我能否擁有一個不帶參數的函數,例如Java中的函數例如,get()
?Fortran 90函數沒有參數?
是的,這是可能的。沒有參數的函數只是簡單地聲明而沒有參數,例如
integer function get_a_number()
implicit none
get_a_number = 42
end function get_a_number
它沒有參數和簡單地返回默認整數種的值42。
你也可以有可選的參數,例如
function hello_string(name)
implicit none
character(len=150) :: hello_string
character(len=*), optional :: name
if (present(name)) then
hello_string = "Hello "//trim(name)//"!"
else
hello_String = "Hello!"
end if
end function
該函數將返回「Hello!」如果沒有參數調用,並且「你好名稱!」如果提供了一個參數。該函數可以帶1或0個參數。請注意,這種功能需要一個明確的界面才能正常工作。
這裏有*兩個*問題,我不確定真正的問題是什麼。第一個是「必須指定一個函數的所有參數?」第二個是「我可以定義一個不接受參數的函數嗎?」 (Java沒有「可選」參數,使用可變參數的技巧或一邊重載。) – user2864740 2014-09-03 23:41:38
函數可能沒有參數。它也可能有可選參數。有關示例,請參閱http://stackoverflow.com/questions/3121954/fortran-90-presence-of-optional-arguments。 – 2014-09-04 00:13:53
@ M.S.B。謝謝,這回答了我的問題。 – Flanker 2014-09-04 01:17:00