Call a function in a sub directory?

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!

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.
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

Categories

Asked:

on 6 Dec 2019

Answered:

on 6 Dec 2019

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!