octave: Default Arguments

 
 11.8 Default Arguments
 ======================
 
 Since Octave supports variable number of input arguments, it is very
 useful to assign default values to some input arguments.  When an input
 argument is declared in the argument list it is possible to assign a
 default value to the argument like this
 
      function NAME (ARG1 = VAL1, ...)
        BODY
      endfunction
 
 If no value is assigned to ARG1 by the user, it will have the value
 VAL1.
 
    As an example, the following function implements a variant of the
 classic “Hello, World” program.
 
      function hello (who = "World")
        printf ("Hello, %s!\n", who);
      endfunction
 
 When called without an input argument the function prints the following
 
      hello ();
           ⊣ Hello, World!
 
 and when it’s called with an input argument it prints the following
 
      hello ("Beautiful World of Free Software");
           ⊣ Hello, Beautiful World of Free Software!
 
    Sometimes it is useful to explicitly tell Octave to use the default
 value of an input argument.  This can be done writing a ‘:’ as the value
 of the input argument when calling the function.
 
      hello (:);
           ⊣ Hello, World!