Is it possible to call a function that doesn't have precedence?
1 visualización (últimos 30 días)
Mostrar comentarios más antiguos
cwshep
el 26 de Jun. de 2015
I am aware of Matlab's Function Precedence Order. It appears that the only way to call a function that isn't on the path, or has lower precedence on the path, is to change directories so that it has precedence.
However, I am trying to write a function, 'someFunc', that extends an older version of 'someFunc' (and is actually a protected .p file). Unfortunately, the original 'someFunc' indirectly calls itself (it calls another function which then calls it again). This means the technique of changing directories to call the original 'someFunc' won't work, since all recursive calls then call the original 'someFunc' not the new 'someFunc' (since it is in the current directory). Moreover, since 'someFunc' isn't directly recursive, I can't use a private function to override the precedence either.
I was hoping to use a function handle to call the original function instead of changing directories, but that doesn't work either, as outlined here.
0 comentarios
Respuesta aceptada
Sean de Wolski
el 26 de Jun. de 2015
You could put it in a package and then import the package (import pack.somefunc) or call directly into the package (pack.somefunc()).
3 comentarios
Sean de Wolski
el 29 de Jun. de 2015
You can learn more about your class by looking at metaclass() of it (also the ?)
mc = pkg.class
Then inspect mc to learn what the restrictions are.
Más respuestas (0)
Ver también
Categorías
Más información sobre Software Development Tools en Help Center y File Exchange.
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!