为什么%>%无法返回

时间:2017-10-13 21:31:31

标签: r magrittr

下面的函数尝试了几种在管道后返回的方法。

returnTry = function(){
    3 %>% return
    4 %>% return()
    5 %>% return(.)
    return(6)
    7
}

但是,如果我尝试使用此功能,则所有管道尝试都会失败

> returnTry()
[1] 6

为什么会这样?我怀疑它是关于管道内发生的非标准评估,但无法确定确切原因。

作为奖励(免责声明:我不会在我的代码中使用此功能。我不推荐使用它,因为它可能会降低代码的可读性),有一个"管道& #34;这样可行。 bizarro pipe

returnTry = function(){
    3 %>% return
    4 %>% return()
    5 %>% return(.)
    6 ->.;return(.)
    return(7)
    8
}

返回6.

0 个答案:

没有答案