【问题标题】:Run hidden .m file运行隐藏的 .m 文件
【发布时间】:2017-11-10 03:53:17
【问题描述】:

我想知道是否可以在 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

"文件名必须以字母开头,可以包含字母、数字、 或下划线。”

【问题讨论】:

  • 在 Win OS 上没有这样的东西。
  • 无论如何使用隐藏的 Matlab 文件有什么意义?

标签: matlab hidden-files


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-07-04
    • 2013-04-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-18
    相关资源
    最近更新 更多