运行隐藏的.m文件

时间:2017-11-10 03:53:18

标签: matlab hidden-files

我想知道是否可以在MATLAB中运行 hidden .m文件。采取以下MWE:

我的工作目录包含两个文件:main.m.foo.m 隐藏(在Linux中,隐藏文件前面有.

dir
 |
 +-- main.m
 +-- .foo.m (hidden)

文件.foo.m包含:

disp('bar');

并且main.m包含通过run命令调用.foo.m

run('.foo.m');

当我运行main.m时,MATLAB会抛出错误:

>> main
Error using run (line 61)
.foo.m not found.

Error in main (line 1)
run('.foo.m');

但是,如果我运行ls -adir,它们都会在目录中显示隐藏文件:

>> ls -a
.  ..  .foo.m  main.m

>> dir

.       ..      .foo.m  main.m  

因此,默认情况下,MATLAB似乎无法找到隐藏文件(至少在Linux中)。

有没有办法在MATLAB中启用隐藏的脚本或函数?

编辑:

刚才意识到在文件开头放一个.违反了MATLAB的文件命名规则:

  

来源:Specify File Names

     

“文件名必须以字母开头,并且可以包含字母,数字,   或者下划线。“

1 个答案:

答案 0 :(得分:1)

正如您已经发现的那样,您无法运行不符合命名约定的m文件。意味着文件不能以.

开头

但是,如果您的目的只是限制对“隐藏”文件的访问,则可以将其设为私有函数。 See Documentation

  

当您想限制a的范围时,私有函数很有用   功能。您通过将函数存储在一个函数中将其指定为私有函数   子文件夹,名称为private。然后,该功能仅可用   到私有子文件夹正上方的文件夹中的函数,或   到驻留在父文件夹中的函数调用的脚本。