infix

Basic Infix Binary Operators

CRAN Travis CI Status AppVeyor build status Codecov

Contains a number of infix binary operators that may be useful in day to day practices.

Installation

You can install infix from CRAN:

install.packages("infix")

Or the development version from GitHub:

# install.packages("devtools")
devtools::install_github("ebeneditos/infix")

Usage

You can find a full list of operators running ?infix, but here there are a few examples:

library(infix)

# tryExcept (%except%)
{foo <- "foo"} %except% {foo <- "foo bar"}
print(foo) # "foo"

{ foo <- "foo"
  stop()
} %except% {
  foo <- "foo bar"
}
print(foo) # "foo bar"

# paste0 (%+%)
"01" %+% "jan" %+% "1970" # returns "01jan1970"

# file.path (%//%)
"home" %//% "dir" # returns "home/dir"

# nomatch (%!in%)
4 %!in% 1:3 # returns TRUE

# nil (%||%)
1 %||% 2 # returns 1
NULL %||% 2 # returns 2

# functions logic (%&%, %|% and %xor%)
is.null.na <- is.null %|% is.na
all(is.null.na(NA), is.null.na(NULL)) # returns TRUE

Also, magrittr pipe-operators (such as %>%) are imported.