[Main page] [Overview]     /efun /funcall

SYNOPSIS
mixed funcall(closure cl, mixed arg ...)

DESCRIPTION
Evaluates the closure. The extra args will be passed as args
to the closure. If cl is not a closure, it will simply be
returned.

EXAMPLES
mixed eval(object ob, string func, mixed *args)
{
return funcall(#'call_other, ob, func, args);
}

This will result in calling

ob->func(args).

In combination with the '...' operator, the functionality
of apply() can be implemented:

mixed eval(object ob, string func, mixed *args)
{
return funcall(#'call_other, ob, func, args...);
}

will result in calling

ob->func(args[0],args[1],...,args[sizeof(args)-1]).

HISTORY
Introduced in 3.2@70.
Returning a non-closure as it is even when args are given was
introduced with 3.2.1

SEE ALSO
apply(E), quote(E)