Defined as roughly : a %>.% b ~ { . <- a; b }; (with visible .-side effects).

pipe_left_arg %.>% pipe_right_arg

pipe_left_arg %>.% pipe_right_arg

Arguments

pipe_left_arg

left argument expression (substituted into .)

pipe_right_arg

right argument expession (presumably including .)

Value

eval({ . <- pipe_left_arg; pipe_right_arg };)

Details

The pipe operator has a couple of special cases. First: if the right hand side is a name, then we try to de-reference it and apply it as a function or surrogate function.

The pipe operator checks for and throws an exception for a number of "pipled into nothing cases" such as 5 %.>% sin(), many of these checks can be turned off by adding braces.

For some discussion, please see http://www.win-vector.com/blog/2017/07/in-praise-of-syntactic-sugar/. For some more examples, please see the package README https://github.com/WinVector/wrapr. For formal documentation please see https://github.com/WinVector/wrapr/blob/master/extras/wrapr_pipe.pdf. %>.% and %.>% are synonyms.

Functions

  • %.>%: dot arrow

  • %>.%: alias for dot arrow

Examples

# both should be equal: cos(exp(sin(4)))
#> [1] 0.8919465
4 %.>% sin(.) %.>% exp(.) %.>% cos(.)
#> [1] 0.8919465