localfunctionsは、m ファイル内のすべてのローカル関数への関数ハンドルを返します。ただし、これはパッケージでは機能しません。たとえば、「am」として保存された次のコードは正常に実行されます。
function fs = a()
fs = localfunctions;
end
function babo()
end
function hidden()
end
MATLAB コンソールから呼び出されます。
>> a()
ans =
@babo
@hidden
しかし、「+aaa/bm」としてパッケージ内にある場合、何も得られません:
>> aaa.b()
ans =
{}
この動作は十分に文書化されているとは思いません。どうすればこれを克服できますか?localfunctions
パッケージ内のいくつかの機能を単体テストするために使用する必要があり、このためだけにパッケージの外に保持したくありません。