関数がオーバーライドされると、オーバーライドされないことに気づきましたhelp fcn
。組み込み関数と同じ名前を使用してカスタム関数を作成しました。試してみる:
which fcn
利回りright\function.m
が、私は使用するときにhelp
機能を
help fcn
組み込み関数のヘルプが表示されます。ただし、代わりに入力すると
help fcn.m
私は正しい助けを得ます。これはあいまいで邪魔であり、どのファイルが使用されているかについて混乱を招く可能性があります。それが私が疑問に思う理由です:ヘルプをオーバーライドすることも可能ですか?。
多くの人がmatlabでオーバーライドすることを推奨していないことは知っていますが、それだけの価値がある場合もあります。この場合、関数が使用されているすべてのレガシーコードを変更する必要がないことを意味します。また、関数のバージョンが多すぎるのは良くありません(mycdfplot
すでに使用されており、ローカルバージョンもある場合があります)。
短い答え:いいえ。
(ごめんなさい)
少し開発するには:独自の関数をオーバーロードする場合は、関数の優先順位とパスの順序を操作することで、ヘルプが特定の関数を指すように強制できます。ただし、Matlabの組み込み関数の場合、カスタム関数よりも常に優先されます。
ヘルプがカスタム関数に到達する唯一の方法は、指定して説明した方法です。 .m
Matlab (2013b)のヘルプから:
注:複数のプログラムが同じ名前の場合、helpコマンドは、関数の優先順位で説明されているルールを適用して、表示するヘルプテキストを決定します。ただし、プログラムの名前がMathWorks関数と同じである場合、コンテキストメニューの[選択に関するヘルプ]オプションには、常にMathWorks関数のドキュメントが表示されます。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加