| % File src/library/base/man/noquote.Rd |
| % Part of the R package, https://www.R-project.org |
| % Copyright 1995-2018 R Core Team |
| % Distributed under GPL 2 or later |
| |
| \name{noquote} |
| \alias{noquote} |
| \alias{print.noquote} |
| \alias{as.matrix.noquote} |
| \alias{c.noquote} |
| \alias{[.noquote} |
| \title{Class for \sQuote{no quote} Printing of Character Strings} |
| \description{ |
| Print character strings without quotes. |
| } |
| \usage{ |
| noquote(obj, right = FALSE) |
| |
| \method{print}{noquote}(x, quote = FALSE, right = FALSE, \dots) |
| |
| \method{c}{noquote}(\dots, recursive = FALSE) |
| } |
| \arguments{ |
| \item{obj}{any \R object, typically a vector of |
| \code{\link{character}} strings.} |
| \item{right}{optional \code{\link{logical}} eventually to be passed to |
| \code{print()}, used by \code{\link{print.default}()}, indicating |
| whether or not strings should be right aligned.} |
| \item{x}{an object of class \code{"noquote"}.} |
| \item{quote, \dots}{further options passed to next methods, such as \code{\link{print}}.} |
| \item{recursive}{for compatibility with the generic \code{\link{c}} function.} |
| } |
| \details{ |
| \code{noquote} returns its argument as an object of class |
| \code{"noquote"}. There is a method for \code{c()} and subscript |
| method (\code{"[.noquote"}) which ensures that the class is not lost |
| by subsetting. The print method (\code{print.noquote}) prints |
| character strings \emph{without} quotes (\code{"\dots"}). |
| |
| If \code{right} is specified in a call \code{print(x, right=*)}, it |
| takes precedence over a possible \code{right} setting of \code{x}, |
| e.g., created by \code{x <- noquote(*, right=TRUE)}. |
| |
| These functions exist both as utilities and as an example of using (S3) |
| \code{\link{class}} and object orientation. |
| } |
| \author{Martin Maechler \email{maechler@stat.math.ethz.ch}} |
| \seealso{ |
| \code{\link{methods}}, \code{\link{class}}, \code{\link{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 |
| \dontshow{ |
| stopifnot(identical( |
| capture.output(stackloss), |
| capture.output(chmat))) |
| }%dont |
| } |
| \keyword{print} |
| \keyword{methods} |
| \keyword{utilities} |