Rev 69170 | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed
% File src/library/base/man/deparseOpts.Rd% Part of the R package, https://www.R-project.org% Copyright 1995-2015 R Core Team% Distributed under GPL 2 or later\name{deparseOpts}\alias{.deparseOpts}\title{Options for Expression Deparsing}\description{Process the deparsing options for \code{deparse}, \code{dput} and\code{dump}.}\usage{.deparseOpts(control)}\arguments{\item{control}{character vector of deparsing options.}}\details{This is called by \code{\link{deparse}}, \code{\link{dput}} and\code{\link{dump}} to process their \code{control} argument.The \code{control} argument is a vector containing zero or more of thefollowing strings. Partial string matching is used.\describe{\item{\code{keepInteger}}{Either surround integer vectors by \code{as.integer()} or usesuffix \code{L}, so they are not converted to type double whenparsed. This includes making sure that integer \code{NA}s arepreserved (via \code{NA_integer_} if there are no non-\code{NA}values in the vector, unless \code{"S_compatible"} is set).}\item{\code{quoteExpressions}}{Surround expressions with \code{quote()}, so they are notevaluated when re-parsed.}\item{\code{showAttributes}}{If the object has attributes (other than a \code{source}attribute), use \code{structure()} to display them as well as theobject value. This is the default for \code{\link{deparse}} and\code{\link{dput}}.}\item{\code{useSource}}{If the object has a \code{source} attribute, display that insteadof deparsing the object. Currently only applies to functiondefinitions.}\item{\code{warnIncomplete}}{Some exotic objects such as \link{environment}s, externalpointers, etc. can not be deparsed properly. This option causes awarning to be issued if the deparser recognizes one of thesesituations.Also, the parser in \R < 2.7.0 would only accept strings of up to8192 bytes, and this option gives a warning for longer strings.}\item{\code{keepNA}}{Integer, real and character \code{NA}s are surrounded by coercionfunctions where necessary to ensure that they are parsed to thesame type. Since e.g.\sspace{}\code{NA_real_} can be output in \R, this ismainly used in connection with \code{S_compatible}.}\item{\code{all}}{An abbreviated way to specify all of the optionslisted above. This is the default for \code{dump}, and the optionsused by \code{\link{edit}} (which are fixed).}\item{\code{delayPromises}}{Deparse promises in the form <promise: expression> rather thanevaluating them. The value and the environment of the promisewill not be shown and the deparsed code cannot be sourced.}\item{\code{S_compatible}}{Make deparsing as far as possible compatible with S and \R < 2.5.0.For compatibility with S, integer values of double vectors aredeparsed with a trailing decimal point. Backticks are not used.}\item{\code{hexNumeric}}{Real and finite complex numbers are output in \samp{"\%a"} format asbinary fractions (coded as hexadecimal: see \code{\link{sprintf}})with maximal opportunity to be recorded exactly to full precision.Complex numbers with one or both non-finite components areoutput as if this option were not set.(This relies on that format being correctly supported: knownproblems on Windows are worked around as from \R 3.1.2.)}\item{\code{digits17}}{Real and finite complex numbers are output using format\samp{"\%.17g"} which may give more precision than the default(but the output will depend on the platform and there may be lossof precision when read back). Complex numbers with one or bothnon-finite components are output as if this option were not set.}}For the most readable (but perhaps incomplete) display, use\code{control = NULL}. This displays the object's value, but not itsattributes. The default in \code{\link{deparse}} is to display theattributes as well, but not to use any of the other options to makethe result parseable. (\code{\link{dput}} and \code{\link{dump}} douse more default options, and printing of functions without sourcesuses \code{c("keepInteger", "keepNA")}.)Using \code{control = "all"} comes closest to making \code{deparse()}an inverse of \code{parse()}. However, not all objects aredeparse-able even with this option. A warning will be issued if thefunction recognizes that it is being asked to do the impossible.Also, representing double and complex numbers as decimals may well notbe exact.Only one of \code{"hexNumeric"} and \code{"digits17"} can be specified.}\value{A numerical value corresponding to the options selected.}\keyword{programming}