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

noquote {base} | R 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 (`"\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 maechler@stat.math.ethz.ch

### 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

[Package base version 4.0.5 Index]