R: The Number of Arguments to a Function

nargs {base} | R Documentation

## The Number of Arguments to a Function

### Description

When used inside a function body, `nargs` returns the number of arguments supplied to that function, including positional arguments left blank.

### Usage

    nargs()

### Details

The count includes empty (missing) arguments, so that `foo(x,,z)` will be considered to have three arguments (see ‘Examples’). This can occur in rather indirect ways, so for example `x[]` might dispatch a call to ``[.some_method`(x, )` which is considered to have two arguments.

This is a primitive function.

### References

Becker, R. A., Chambers, J. M. and Wilks, A. R. (1988) The New S Language. Wadsworth & Brooks/Cole.

### See Also

`args`, `formals` and `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

[Package base version 3.5.1 Index]