5
如果我編寫調用另一個模塊的函數或模塊,如何獲取調用函數/模塊的名稱?這對調試有幫助。如何在Mathematica中的模塊中獲得調用函數的名稱?
如果我編寫調用另一個模塊的函數或模塊,如何獲取調用函數/模塊的名稱?這對調試有幫助。如何在Mathematica中的模塊中獲得調用函數的名稱?
Stack
function幾乎完全符合您的要求,給出了調用堆棧中「標籤」(用於您的目的,讀取「函數」)的列表。這不是防彈的,因爲其他功能的存在,如StackBegin
和StackInhibit
,但這些都是非常奇特的開始。
在大多數情況下,Stack
將返回命名被評估函數的符號。爲了弄清楚這些符號來自哪些背景,你可以使用Context
function,它可以儘可能接近你想要弄清楚它們是什麼軟件包。但是,這需要謹慎,因爲可以動態地將符號添加到包中(通過Get
,Import
,ToExpression
或Symbol
),並且可以在其他包中重新定義或修改它們(例如,具有新的評估規則)。
謝謝!堆棧[_]就是我一直在尋找的東西。 – Tony 2009-09-14 17:17:00