11.10.7 函数优先级

鉴于 Octave 定义函数的方式多种多样,在特定作用域内完全有可能(甚至很可能)存在同一函数的多个版本。在特定作用域内,函数的优先级由以下规则决定:

  1. 子函数(Subfunction)
    在当前作用域内具有所需函数名的子函数。
  2. 私有函数(Private function)
    在当前函数所在目录的私有目录中定义的函数。
  3. 类构造函数(Class constructor)
    用于构造用户类的函数,如第 面向对象编程 一章所述。
  4. 类方法(Class method)
    类的重载函数,如第 面向对象编程 一章所述。
  5. 命令行函数(Command-line Function)
    在命令行上定义的函数。
  6. 自动加载函数(Autoload function)
    通过 autoload 标记为自动加载的函数。
  7. 路径上的函数(Function on the Path)
    可以在用户加载路径中找到的函数。该函数可能存在 Oct-file、mex-file 或 m-file 版本,这些版本之间的优先级按此顺序排列。
  8. 内置函数(Built-in function)
    Octave 核心内置的函数,如 numelsize 等。

版权所有 © 2024-2026 Octave中文网

ICP备案/许可证号:黑ICP备2024030411号-4