小编Max*_*ell的帖子

使用Magrittr从闭包构造函数会导致函数求值时出错

当我使用magrittr将x的值传递给下面的函数时,会导致函数无法使用.为什么会这样?我有版本magrittr_1.5.

library(magrittr)
f <- function(x) { function(y) { x + y } }

# Case 1 (works)
f.5 <- f(5)
f.5(6) # returns 11

# Case 2 (works)
f.5 <- f(5) 
6 %>% f.5 # returns 11

# Case 3 (fails)
f.5 <- 5 %>% f
6 %>% f.5 # Error in x + y (from 1) : 
          # non-numeric argument to binary operator 

# Case 4 (fails)
f.5 <- 5 %>% f
f.5(6); # Same error as case 3
Run Code Online (Sandbox Code Playgroud)

closures r magrittr

7
推荐指数
1
解决办法
265
查看次数

标签 统计

closures ×1

magrittr ×1

r ×1