#' Operators for charcater vectors
#'
#' Concatenate character vectors using code{" AND ", " OR ", " NOT "} separators. For numeric and integer work as usual but slower.
#' @param lhs Left-hand side
#' @param rhs Right-hand side
#' @name operators
#' @rdname operators
#' @export
"+" = function(lhs, rhs) {
if (is.character(lhs) || is.character(rhs)) {
return(paste(lhs, rhs, sep = " AND "))
} else {
.Primitive("+")(lhs, rhs)
}
}
#' @rdname operators
#' @export
"-" = function(lhs, rhs) {
if (is.character(lhs) || is.character(rhs)) {
return(paste(lhs, rhs, sep = " NOT "))
} else {
.Primitive("-")(lhs, rhs)
}
}
#' @rdname operators
#' @export
"|" = function(lhs, rhs) {
if (is.character(lhs) || is.character(rhs)) {
return(paste(lhs, rhs, sep = " OR "))
} else {
.Primitive("|")(lhs, rhs)
}
}
#' @rdname operators
#' @export
"@" = function(lhs, rhs) {
if (is.character(lhs) || is.character(rhs)) {
return(paste0(lhs, "[", rhs, "]"))
} else {
.Primitive("@")(lhs, rhs)
}
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.