2009-09-12 2 views

risposta

4

Lo farà esattamente ciò che si desidera, fornendo un elenco di "tag" (per i propri scopi, leggi "funzioni") presenti nello stack di chiamate. Non è a prova di proiettile, a causa dell'esistenza di altre funzioni come StackBegin e StackInhibit, ma quelle sono molto esotiche per cominciare.

Nella maggior parte dei casi, Stack restituirà i simboli che denominano le funzioni da valutare. Per capire da quale contesto provengono quei simboli, puoi usare Context function, che è il più vicino possibile a capire di quale pacchetto fanno parte. Ciò richiede una certa attenzione, tuttavia, poiché i simboli possono essere aggiunti ai pacchetti dinamicamente (tramite Get, Import, ToExpression o Symbol) e possono essere ridefiniti o modificati (con nuove regole di valutazione, ad esempio) anche in altri pacchetti.

+0

Grazie! Stack [_] è quello che stavo cercando. – Tony