function opens a function definition endfunction closes a function definition Description = endfunction ]]> Where <function_name> stands for the name of the function <rhs_arguments> stands for the input argument list. It may be a comma separated sequence of variable names enclosed in parenthesis, like (x1,...,xm). Last variable name can be the key word varargin (see varargin) the sequence () or nothing, if the function has no input argument. <lhs_arguments> stands for the output argument list. It may be a comma separated sequence of variable names enclosed in brackets, like [y1,...,yn]. Last variable name can be the key word varargout (see varargout) the sequence [], if the function has no output argument. In this case the syntax may also be: function <function_name><rhs_arguments> <statements> stands for a set of Scilab instructions (statements). This syntax may be used to define function (see functions) inline or in a script file (see exec). For compatibility with old Scilab versions, functions defined in a script file containing only function definitions can be "loaded" into Scilab using the exec function. The function <lhs_arguments>=<function_name><rhs_arguments> sequence cannot be split over several lines. This sequence can be followed by statements in the same line if a comma or a semicolon is added at its end. Note that <function_name> must respect some syntax rules (see names). Function definitions can be nested. Examples See Also functions exec names