<html lang="en"> <head> <title>Function Precedence - GNU Octave</title> <meta http-equiv="Content-Type" content="text/html"> <meta name="description" content="GNU Octave"> <meta name="generator" content="makeinfo 4.13"> <link title="Top" rel="start" href="index.html#Top"> <link rel="up" href="Function-Files.html#Function-Files" title="Function Files"> <link rel="prev" href="Function-Locking.html#Function-Locking" title="Function Locking"> <link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage"> <meta http-equiv="Content-Style-Type" content="text/css"> <style type="text/css"><!-- pre.display { font-family:inherit } pre.format { font-family:inherit } pre.smalldisplay { font-family:inherit; font-size:smaller } pre.smallformat { font-family:inherit; font-size:smaller } pre.smallexample { font-size:smaller } pre.smalllisp { font-size:smaller } span.sc { font-variant:small-caps } span.roman { font-family:serif; font-weight:normal; } span.sansserif { font-family:sans-serif; font-weight:normal; } --></style> </head> <body> <div class="node"> <a name="Function-Precedence"></a> <p> Previous: <a rel="previous" accesskey="p" href="Function-Locking.html#Function-Locking">Function Locking</a>, Up: <a rel="up" accesskey="u" href="Function-Files.html#Function-Files">Function Files</a> <hr> </div> <h4 class="subsection">11.8.6 Function Precedence</h4> <p>Given the numerous different ways that Octave can define a function, it is possible and even likely that multiple versions of a function, might be defined within a particular scope. The precedence of which function will be used within a particular scope is given by <ol type=1 start=1> <li>Subfunction A subfunction with the required function name in the given scope. <li>Private function A function defined within a private directory of the directory which contains the current function. <li>Class constructor A function that constuctors a user class as defined in chapter <a href="Object-Oriented-Programming.html#Object-Oriented-Programming">Object Oriented Programming</a>. <li>Class method An overloaded function of a class as in chapter <a href="Object-Oriented-Programming.html#Object-Oriented-Programming">Object Oriented Programming</a>. <li>Legacy Dispatch An overloaded function as defined by <code>dispatch</code>. <li>Command-line Function A function that has been defined on the command-line. <li>Autoload function A function that is marked as autoloaded with See <a href="doc_002dautoload.html#doc_002dautoload">doc-autoload</a>. <li>A Function on the Path A function that can be found on the users load-path. There can also be Oct-file, mex-file or m-file versions of this function and the precedence between these versions are in that order. <li>Built-in function A function that is builtin to Octave itself such as <code>numel</code>, <code>size</code>, etc. </ol> </body></html>