首页 > 解决方案 > 如何将正向管道运算符与匿名函数结合起来

问题描述

是否可以将正向管道运算符与匿名函数结合起来?如果是这样,那我该怎么办?

我知道基本思想是以顺序方式传递参数以使函数执行。如下所示,首先匿名函数计算总和,然后将其传递给阶乘函数。

我怎么能做同样
的事情这是我试图使用正向管道运算符执行的 -

calculate <- function(func,d)
 {
   func(d)
   }

factorial(calculate(function(x){x+1},7)) # function x is the anonymous function

我的代码使用正向管道运算符-

7 %>% calculate(function(x){x+1}) %>% fact()

预期结果是 40320,但结果是

func(d) 中的错误:找不到函数“func”

标签: rfunctionanonymous-functionchainingmagrittr

解决方案


calculate另一种选择是使用 name 显式调用的参数

7 %>% calculate(func=function(x){x+1}) %>% factorial()

推荐阅读