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

Description Usage Arguments Details Author(s) See Also Examples

Description

Print character strings without quotes.

Usage

1
2
3
4
5
6
7
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 ("\dots").

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

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
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