【问题标题】:Fortran 90 function with no arguments?没有参数的 Fortran 90 函数?
【发布时间】:2014-09-03 23:31:32
【问题描述】:

我想知道我是否必须为 Fortran 90 中的函数提供参数?我可以有一个不带参数的函数吗,比如在 Java 中,例如例如get()

【问题讨论】:

  • 这里有两个问题,我不确定真正的问题是什么。第一个是“必须指定函数的所有参数吗?”第二个是,“我可以定义一个不接受参数的函数吗?” (Java 没有“可选”参数、可变参数技巧或重载。)
  • 一个函数可能没有参数。它也可能有可选参数。有关示例,请参见 stackoverflow.com/questions/3121954/…
  • @M.S.B.谢谢,这回答了我的问题。
  • @M.S.B.如果您回答这个问题,那么 OP 可以接受您的回答,并且这个问题将从未回答的问题列表中消失,我们都可以继续我们的生活 :-) 失败了,我可能会在一两天内徘徊并投票给关闭只是为了整理网站。

标签: function fortran fortran90


【解决方案1】:

是的,这是可能的。不带参数的函数只是简单地声明为不带参数,例如

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 name!”如果提供了参数。这个函数可以接受 1 个或 0 个参数。请注意,此类功能需要显式接口才能正常工作。

【讨论】:

    猜你喜欢
    • 2010-10-24
    • 2011-03-08
    • 1970-01-01
    • 2014-07-24
    • 2020-05-31
    • 1970-01-01
    • 2015-12-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多