2009-09-12 2 views

ответ

4

Stack function сделает практически то, что вам нужно, предоставив список «тегов» (для ваших целей, прочитайте «функции»), которые находятся в стеке вызовов. Это не пуленепробиваемый из-за существования других функций, таких как StackBegin и StackInhibit, но для начала это очень экзотично.

В большинстве случаев Stack вернет символы, которые называют оцениваемые функции. Чтобы выяснить, из какого контекста эти символы, вы можете использовать Context function, который является aboput как можно ближе, чтобы выяснить, в какой пакет они входят. Однако это требует некоторой осторожности, поскольку символы могут быть добавлены в пакеты динамически (через Get, Import, ToExpression или Symbol), и они могут быть переопределены или изменены (с новыми правилами оценки, например) в других пакетах.

+0

Спасибо! Стек - это то, что я искал. – Tony

Смежные вопросы