formals                 package:base                 R Documentation

_A_c_c_e_s_s _t_o _a_n_d _M_a_n_i_p_u_l_a_t_i_o_n _o_f _t_h_e _F_o_r_m_a_l _A_r_g_u_m_e_n_t_s

_D_e_s_c_r_i_p_t_i_o_n:

     Get or set the formal arguments of a function.

_U_s_a_g_e:

     formals(fun = sys.function(sys.parent()))
     formals(fun, envir = environment(fun)) <- value

_A_r_g_u_m_e_n_t_s:

     fun: a function object, or see 'Details'.

   envir: environment in which the function should be defined.

   value: a list (or pairlist) of R expressions.

_D_e_t_a_i_l_s:

     For the first form, 'fun' can also be a character string naming
     the function to be manipulated, which is searched for from the
     parent environment. If it is not specified, the function calling
     'formals' is used.

     Only _closures_ have formals, not primitive functions.

_V_a_l_u_e:

     'formals' returns the formal argument list of the function
     specified, as a 'pairlist', or 'NULL' for a non-function or
     primitive.

     The replacement form sets the formals of a function to the
     list/pairlist on the right hand side, and (potentially) resets the
     environment of the function.

_S_e_e _A_l_s_o:

     'args' for a human-readable version, 'alist', 'body', 'function'.

_E_x_a_m_p_l_e_s:

     require(stats); require(graphics)
     length(formals(lm))      # the number of formal arguments
     names(formals(boxplot))  # formal arguments names

     f <- function(x) a+b
     formals(f) <- alist(a=,b=3) # function(a,b=3)a+b
     f(2) # result = 5

