2017-11-10 4 views
0

hidden.mファイルをMATLABで実行できるかどうか疑問に思っていました。以下MWEしてください:含まmain.m.foo.m隠さです(Linuxでは、隠しファイルが.が先行している)隠し.mファイルを実行する

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

ファイル.foo.m

私の作業ディレクトリには、2つのファイルが含まれてい

disp('bar'); 

main.mには、runコマンドを使用して.foo.mを呼び出しますD

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 -aを実行しdir場合、彼らは両方のディレクトリ内の隠しファイルを表示:

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

>> dir 

.  ..  .foo.m main.m 

をだから、MATLABはデフォルトで隠しファイルを見つけることができないようです(少なくともLinuxでは)。

MATLABで隠しスクリプトまたは関数を実行する方法はありますか?


EDIT:

は、単にファイルの先頭に.を置くことは、MATLABのファイル命名規則に違反している実現:

Source: Specify File Names

"File names must start with a letter, and can contain letters, digits, or underscores."

+1

Win OSではこのようなことはありません。 –

+1

隠されたMatlabファイルを使用することのポイントは何ですか? – Bernhard

答えて

1

あなたはすでにあなたが実行することはできません考え出したとしてM-命名規則に準拠していないファイル。意味はファイルで始めることができません.

しかし、あなたが意図している場合は、 "非表示"ファイルへのアクセスを制限するだけでは、プライベートな機能にすることができます。 See Documentation

Private functions are useful when you want to limit the scope of a function. You designate a function as private by storing it in a subfolder with the name private. Then, the function is available only to functions in the folder immediately above the private subfolder, or to scripts called by the functions that reside in the parent folder.

関連する問題