Rev 42333 | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed
% File src/library/base/man/stopifnot.Rd% Part of the R package, http://www.R-project.org% Copyright 1995-2007 R Core Development Team% Distributed under GPL 2 or later\name{stopifnot}\alias{stopifnot}\concept{assertion}\title{Ensure the `Truth' of R Expressions}\description{If any of the expressions in \code{\dots} are not \code{\link{all}}\code{TRUE}, \code{\link{stop}} is called, producing an error messageindicating the \emph{first} of the elements of \code{\dots} which werenot true.}\usage{stopifnot(\dots)}\arguments{\item{\dots}{any number of (\code{\link{logical}}) \R expressions,which should evaluate to \code{\link{TRUE}}.}}\details{This function is intended for use in regression tests or also argumentchecking of functions, in particular to make them easier to read.\code{stopifnot(A, B)} is conceptually equivalent to\code{\{ if(any(is.na(A)) || !all(A)) stop(...) ;if(any(is.na(B)) || !all(B)) stop(...) \}}.}\value{(\code{\link{NULL}} if all statements in \code{\dots} are \code{TRUE}.)}\seealso{\code{\link{stop}}, \code{\link{warning}}.}\examples{stopifnot(1 == 1, all.equal(pi, 3.14159265), 1 < 2) # all TRUEm <- matrix(c(1,3,3,1), 2,2)stopifnot(m == t(m), diag(m) == rep(1,2)) # all(.) |=> TRUEop <- options(error = expression(NULL))# "disable stop(.)" << Use with CARE! >>stopifnot(all.equal(pi, 3.141593), 2 < 2, all(1:10 < 12), "a" < "b")stopifnot(all.equal(pi, 3.1415927), 2 < 2, all(1:10 < 12), "a" < "b")options(op)# revert to previous error handler}\keyword{environment}\keyword{programming}\keyword{error}