Is it possible to have private folders in packages?
17 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
I have organized my code in packages and would like to save some small helper functions in a private directory. However, if I save my functions in +package/private/*.m, I can't get my code to "see" them.
Is this somehow possible?
I am using R2015b.
1 commentaire
Adam
le 7 Déc 2017
I also found the same problem when trying to put subfolders in a package (I can't remember off-hand if it was the private folder, but I think I did try this once), but it did not work because there is no option to add subfolders of a package to the path, which is required, even for private folders, as far as I am aware, in order for the functions to be seen even in the folder containing the private folder
Réponses (2)
Jan
le 7 Déc 2017
Functions stored inside folder/+package/private/ should be visible for M-files in folder/+package/, but for no other functions. If you observe something else, consider, that there might be a different problem. How did you try to make you code seeing the files in the private folder?
6 commentaires
Timothy Stewart
le 1 Août 2018
Modifié(e) : Timothy Stewart
le 1 Août 2018
@Jan I'm trying to use private folders within /+package/@class/private to organize my directory of class methods.
Is this supported?
Furthermore, perhaps /+package/@class/protected and/or /+package/@class/public would be useful too.
V.R.
Tim
Lockywolf
le 8 Mai 2018
A private folder in a package works fine in my Matlab 2013a.
What doesn't work, however is non-private package subfolders.
That is, I have a package +pack and inside this package I have a function 'packfun.n' and two folders: 'private' and 'notprivate'.
The function 'privfun.m' from the 'private' folder is accessible. Whereas the function 'nonpriv.m' from the 'nonprivate' folder I didn't manage to run no matter how I tried.
0 commentaires
Voir également
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!