繁体   English   中英

function 以 R 编程语言返回

[英]function return in R programming language

我需要帮助从 function 返回值/对象

noReturnKeyword <- function(){
  'noReturnKeyword'
}

justReturnValue <- function(){
  returnValue('returnValue')
}

justReturn <- function(){
  return('justReturn')
}

当我调用这些函数时: noReturnKeyword()justReturnValue()justReturn() ,我得到 output 作为[1] "noReturnKeyword"[1] "returnValue"[1] "justReturn"分别。

我的问题是,即使我没有在noReturnKeyword()中明确使用returnValuereturn关键字,我也得到了 output (我的意思是函数返回的值)。

那么这些 function noReturnKeyword() , justReturnValue() , justReturn()有什么区别

这些词returnValue('')return('')有什么区别? 这些是一样的吗?

R 函数中的returnValue('')return('')何时使用 go?

R中,根据?return

如果在没有调用 return 的情况下到达 function 的结尾,则返回最后一个计算表达式的值。

  1. return是退出 function 并设置应返回的值的显式方式。 优点是您可以在 function 的任何地方使用它。

  2. 如果没有明确的返回语句 R 将返回最后一个计算表达式的值

  3. returnValue仅在调试上下文中定义。 手册指出:

可以调用实验的returnValue() function来获取function即将返回的值。 在其他情况下调用此 function 将给出未定义的结果。

换句话说,你不应该在on.exit的上下文中使用它。 当你尝试这个时它甚至不起作用。

justReturnValue <- function(){
  returnValue('returnValue')
  2
}

这个 function 将返回 2,而不是“returnValue”。 您的示例中发生的事情只不过是第二种方法。 R 评估最后一个语句returnValue()并准确返回。

如果您使用解决方案 1 或 2,则取决于您。 我个人更喜欢显式方式,因为我相信它使代码更清晰。 但这更多的是见仁见智。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM