Dumb newbie back in shell
Bruno Desthuilliers
bruno.42.desthuilliers at wtf.websiteburo.oops.com
Tue Dec 11 10:39:55 EST 2007
Chris Mellon a écrit :
> On Dec 11, 2007 8:51 AM, Bruno Desthuilliers
> <bruno.42.desthuilliers at wtf.websiteburo.oops.com> wrote:
>> Chris Mellon a écrit :
>> (snip)
>>> What's probably happening is that line_ptr < last_line is not true
>> Indeed.
>>
>>> and the body of the function isn't executed at all. The unbound local
>>> exception is a runtime error that occurs when the local is accessed,
>>> not when the function is compiled.
>> Now since the compiler already detected the name as local, why wait
>> execution to signal this error ?
>>
>
> Because detection assignment to a name in the first AST scan and then
> using LOAD_FAST and STORE_FAST for access to and assigning to that
> name is a simple, easy thing to implement, while doing execution
> analysis to detect that it can't possibly be set before being
> referenced is really hard.
Ok, makes sens.
Now nobody should ever rebind a global name anyway !-)
More information about the Python-list
mailing list