2
private ScriptEngine pe;
private ScriptScope scope;
private void button1_Click(object sender, EventArgs e)
{
pe = Python.CreateEngine();
scope = pe.CreateScope();
pe.Runtime.SetTrace(OnTraceback);
pe.Execute(@"
def square(x):
s = x*x
return s
a = square(2) + (3)
print ""hello world "" + str(a)
", scope);
}
private TracebackDelegate OnTraceback(TraceBackFrame frame, string result, object payload)
{
//How can I access the local variables of the current function?
return OnTraceback;
}
Je le répète: je veux les variables locales de la fonction, où l'exécution de python est actuellement (la fonction ligne entourant frame.f_lineno
).IronPython: Comment accéder à retracer les variables locales
veuillez passer par le code ci-dessus, ... frame.f_locals ne contient pas les locaux – ulrichb
Si je change OnTraceback pour revenir à lui-même, je vois les locaux à l'intérieur des fonctions carrées - bien que les globals semblent manquer. –