blob: 346a514ca38519dde8729d1a545d117478b4a19c [file] [log] [blame]
% 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}