% File src/library/base/man/nargs.Rd % Part of the R package, http://www.R-project.org % Copyright 1995-2007 R Core Team % Distributed under GPL 2 or later \name{nargs} \title{The Number of Arguments to a Function} \usage{nargs()} \alias{nargs} \description{ When used inside a function body, \code{nargs} returns the number of arguments supplied to that function, \emph{including} positional arguments left blank. } \details{ The count includes empty (missing) arguments, so that \code{foo(x,,z)} will be considered to have three arguments (see \sQuote{Examples}). This can occur in rather indirect ways, so for example \code{x[]} might dispatch a call to \code{`[.some_method`(x, )} which is considered to have two arguments. This is a \link{primitive} function. } \references{ Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988) \emph{The New S Language}. Wadsworth & Brooks/Cole. } \seealso{ \code{\link{args}}, \code{\link{formals}} and \code{\link{sys.call}}. } \examples{ tst <- function(a, b = 3, ...) {nargs()} tst() # 0 tst(clicketyclack) # 1 (even non-existing) tst(c1, a2, rr3) # 3 foo <- function(x, y, z, w) { cat("call was ", deparse(match.call()), "\n", sep = "") nargs() } foo() # 0 foo(, , 3) # 3 foo(z = 3) # 1, even though this is the same call nargs() # not really meaningful } \keyword{programming}