noquote: Class for 'no quote' Printing of Character Strings

noquoteR Documentation

Class for ‘no quote’ Printing of Character Strings

Description

Print character strings without quotes.

Usage

noquote(obj, right = FALSE)

## S3 method for class 'noquote'
print(x, quote = FALSE, right = FALSE, ...)

## S3 method for class 'noquote'
c(..., recursive = FALSE)

Arguments

obj

any R object, typically a vector of character strings.

right

optional logical eventually to be passed to print(), used by print.default(), indicating whether or not strings should be right aligned.

x

an object of class "noquote".

quote, ...

further options passed to next methods, such as print.

recursive

for compatibility with the generic c function.

Details

noquote returns its argument as an object of class "noquote". There is a method for c() and subscript method ("[.noquote") which ensures that the class is not lost by subsetting. The print method (print.noquote) prints character strings without quotes ("...." is printed as ....).

If right is specified in a call print(x, right=*), it takes precedence over a possible right setting of x, e.g., created by x <- noquote(*, right=TRUE).

These functions exist both as utilities and as an example of using (S3) class and object orientation.

Author(s)

Martin Maechler [email protected]

See Also

methods, class, print.

Examples

letters
nql <- noquote(letters)
nql
nql[1:4] <- "oh"
nql[1:12]

cmp.logical <- function(log.v)
{
  ## Purpose: compact printing of logicals
  log.v <- as.logical(log.v)
  noquote(if(length(log.v) == 0)"()" else c(".","|")[1 + log.v])
}
cmp.logical(stats::runif(20) > 0.8)

chmat <- as.matrix(format(stackloss)) # a "typical" character matrix
## noquote(*, right=TRUE)  so it prints exactly like a data frame
chmat <- noquote(chmat, right = TRUE)
chmat