我正在编写一个 matlab 脚本,我想知道该脚本的名称,这是一个步骤。我需要这个的原因是我正在编写一个帮助脚本,以便在进行更重的计算之前断言有关工作区的一些基本事实,并且帮助脚本应该能够在调用计算脚本时给出错误消息。
我试过使用mfilename
and dbstack
,但除了帮助脚本的名称之外,我什么也没有得到。
为了进一步解释,我有以下脚本:
verify_base_conditions
: 辅助脚本,在第一行中的一个调用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
.
如何找到在堆栈中上一级运行的脚本的名称?
(注意:我对查找在堆栈底部运行的脚本不感兴趣- 几乎总是. 我只是对获取调用的脚本的名称感兴趣。)general_entry_point
verify_base_conditions