MATLAB Answers

Call a function in a sub directory?

6 views (last 30 days)
TallBrian
TallBrian on 6 Dec 2019
Answered: Walter Roberson on 6 Dec 2019
Suppose a have a folder "folder1" which contains a function "sayhi.m". "folder1" contains a subfolder "subfolder1" which contains an identically named function "sayhi.m".
Is it possible to call both functions from a function in the root folder? Or, how can I override the default call to the local function and force the call of the non-local function?
thanks!

  0 Comments

Sign in to comment.

Answers (2)

Matt J
Matt J on 6 Dec 2019
Edited: Matt J on 6 Dec 2019
The only way, I believe, is to visit each folder and create a function handle to each respective version of sayhi(),
cd folder1
h1=@sayhi;
cd folder2
h2=@sayhi;
cd ../
Once you have the handles h1() and h2(), you can invoke them from whatever folders you wish.

  0 Comments

Sign in to comment.


Walter Roberson
Walter Roberson on 6 Dec 2019
cd to the inner directory and create a handle to the function, and cd back. Now when you invoke the handle you get the inner function no matter what your current directory is

  0 Comments

Sign in to comment.

Sign in to answer this question.