Is it possible to have private folders in packages?

34 次查看(过去 30 天)
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 个评论
Adam
Adam 2017-12-7
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

请先登录,再进行评论。

回答(2 个)

Jan
Jan 2017-12-7
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 个评论
Timothy Stewart
Timothy Stewart 2018-8-1
编辑:Timothy Stewart 2018-8-1
@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
Jan
Jan 2018-8-2
@Thimothy: I'm not sure about this, but I'd simply try it.

请先登录,再进行评论。


Lockywolf
Lockywolf 2018-5-8
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.

类别

Help CenterFile Exchange 中查找有关 Search Path 的更多信息

产品

Community Treasure Hunt

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

Start Hunting!

Translated by