【问题标题】:Is it possible to run a function without giving it an object?是否可以在不给它一个对象的情况下运行一个函数?
【发布时间】:2019-06-18 19:28:03
【问题描述】:

我想知道是否有运行函数的函数。

例如,如果我能写的最简单的函数是这样的:

function(){
  print("hello world")
}

但是据我所知,“运行”这个函数的唯一方法是运行类似的东西:

my_fun <- function(){
  print("hello world")
}

my_fun()

有没有办法在不给函数一个对象的情况下实现这个结果?直觉上我认为这与%&gt;% 所做的并没有太大的不同,但我在思考如何做到这一点时遇到了麻烦。有没有一个函数可以让我在不给它自己的对象的情况下运行这个函数?

【问题讨论】:

  • 很难说“不给函数一个对象”是什么意思。从表面上看,这似乎意味着“不传递任何参数”,您在示例中已经清楚地做到了这一点。也许更好的术语是你想调用一个函数而不做......什么?这是我们仍然不太了解的部分。
  • 您可以致电(function(){print("hello world")})()。是这个意思吗?

标签: r function dplyr


【解决方案1】:

Do can IIFE(立即调用函数表达式)。这是 JS 中非常流行的模式。

(function() {print("hello world")})()

【讨论】:

    【解决方案2】:

    我认为您只是在询问是否可以在不明确命名的情况下运行函数。当然。

    (function(){
      print("hello world")
    })()
    

    将匿名函数包装在括号中,然后用一对括号“调用”它。

    > (function(){
    +   print("hello world")
    + })()
    [1] "hello world"
    

    【讨论】:

      猜你喜欢
      • 2017-07-20
      • 2023-01-02
      • 2023-04-03
      • 1970-01-01
      • 1970-01-01
      • 2012-01-24
      • 2019-12-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多