スタックの1つ上のスクリプトの名前を知りたいmatlabスクリプトを書いています。これが必要な理由は、より重い計算を行う前に、ワークスペースに関するいくつかの基本的な事実を表明するために呼び出されるヘルパースクリプトを作成しているためです。また、ヘルパースクリプトは、計算スクリプトを呼び出すときにエラーメッセージを表示できる必要があります。
mfilename
とを使ってみましdbstack
たが、ヘルパースクリプトの名前以外は何も得られません。
さらに説明すると、次のスクリプトがあります。
verify_base_conditions
:ヘルパースクリプト、の最初の行の1つで呼び出されますheavy_stuff_calculation
とsweet_mother_of_algorithms
。general_entry_point
:セル内の一般的なワークフローを収集するスクリプト
エントリポイントスクリプトをできるだけ小さくし、より重い計算(または実際には数行以上を必要とするもの)をタスクベースの再利用可能なスクリプトにリファクタリングするようにしています。エントリポイントスクリプトから、このスクリプトを実行するための呼び出しsweet_mother_of_algorithms
と基本条件が満たされていない場合、次のようなエラーメッセージが表示されます。
Error: this_cool_var must be defined when running sweet_mother_of_algorithms
general_entry_point line 15
使ってみました
error(['this_cool_var must be defined when running ' mdfilename])
および他の同様の構造ですが、エラーメッセージに。以外のことを言わせることができませんでしたverify_base_conditions
。
スタックの1つ上のレベルで実行されているスクリプトの名前を見つけるにはどうすればよいですか?
(注:スタックの一番下で実行されているスクリプトを見つけることには興味がありません。ほとんどの場合、そうなります。呼び出されたスクリプトの名前を取得することに興味があります。)general_entry_point
verify_base_conditions