5

如果我编写一个调用另一个模块的函数或模块,我如何获得调用函数/模块的名称?这将有助于调试目的。

4

1 回答 1

4

Stack函数几乎完全符合您的要求,给出调用堆栈中的“标签”列表(为了您的目的,请阅读“函数”)。它不是万无一失的,因为还有其他功能,例如StackBeginand StackInhibit,但这些功能一开始就非常奇特。

在大多数情况下,Stack将返回命名正在评估的函数的符号。要弄清楚这些符号来自什么上下文,您可以使用Context函数,它与您可以尽可能接近地确定它们是哪个包的一部分。但是,这需要注意,因为符号可以动态添加到包中(通过Get、或),并且它们也可以在其他包中重新定义或修改(例如,使用新的评估规则)ImportToExpressionSymbol

于 2009-09-14T13:45:33.780 回答