Esta página aún no se ha traducido para esta versión. Puede ver la versión más reciente de esta página en inglés.

Orden de precedencia de funciones

En este tema se explica cómo MATLAB® determina qué función se debe llamar cuando varias funciones del ámbito actual tienen el mismo nombre. El ámbito actual incluye el archivo actual, una subcarpeta privada opcional relativa a la función actualmente en ejecución, la carpeta actual y la ruta de acceso MATLAB.

MATLAB utiliza este orden de precedencia:

  1. Variables

    Antes de asumir que un nombre coincide con una función, MATLAB comprueba una variable con ese nombre en el espacio de trabajo actual.

    Nota

    Si crea una variable con el mismo nombre que una función, MATLAB no podrá ejecutar esa función hasta que borre la variable de la memoria.

  2. Funciones de paquete importadas

    Una función de paquete está asociada a una carpeta en particular. Al importar una función de paquete mediante la función import, tiene precedencia sobre todas las demás funciones con el mismo nombre.

  3. Funciones anidadas dentro de la función actual

  4. Funciones locales dentro del archivo actual

  5. Funciones privadas

    las funciones Privado son funciones en una subcarpeta denominada private que está inmediatamente debajo de la carpeta del archivo que se está ejecutando actualmente.

  6. Funciones de objeto

    Una función de objeto acepta una clase particular de objeto en su lista de argumentos de entrada. Cuando hay varias funciones de objeto con el mismo nombre, MATLAB comprueba las clases de los argumentos de entrada para determinar qué función utilizar.

  7. Constructores de clase en @ folders

    MATLAB utiliza constructores de clase para crear una variedad de objetos (como timeseries o audioplayer), y puede definir sus propias clases usando programación orientada a objetos. Por ejemplo, si crea una carpeta de clase @polynom y una función de constructor @polynom/polynom.m, el constructor tendrá prioridad sobre otras funciones denominadas polynom.m en cualquier lugar de la ruta de acceso.

  8. Modelos Simulink® cargados

  9. Funciones en la carpeta actual

  10. Funciones en otro lugar en el camino, en orden de apariencia

Al determinar la precedencia de las funciones dentro de la misma carpeta, MATLAB considera el tipo de archivo, en este orden:

  1. Función incorporada

  2. Mex-function

  3. archivos de modelo Simulink que no están cargados, con tipos de archivo en este orden:

    1. SLX File

    2. Archivo MDL

  4. App File (.mlapp) creado con MATLAB App Designer

  5. Archivo de programa con una extensión .mlx

  6. Archivo P (es, un archivo de programa codificado con una extensión .p)

  7. Archivo de programa con una extensión .m

Por ejemplo, si MATLAB encuentra un archivo .m y un archivo p con el mismo nombre en la misma carpeta, utiliza el archivo p. Dado que los archivos p no se regeneran automáticamente, asegúrese de regenerar el archivo p cada vez que edite el archivo de programa.

Para determinar la función MATLAB llama a una entrada particular, incluya el nombre de la función y la entrada en una llamada a la función which.

Temas relacionados