On Jan 9, 3:52 pm, Waldemar Osuch <[EMAIL PROTECTED]> wrote: > On Jan 9, 11:47 am, "Steven W. Orr" <[EMAIL PROTECTED]> wrote: > > > > > So sorry because I know I'm doing something wrong. > > > 574 > cat c2.py > > #! /usr/local/bin/python2.4 > > > def inc(jj): > > def dummy(): > > jj = jj + 1 > > return jj > > return dummy > > > h = inc(33) > > print 'h() = ', h() > > 575 > c2.py > > h() = > > Traceback (most recent call last): > > File "./c2.py", line 10, in ? > > print 'h() = ', h() > > File "./c2.py", line 5, in dummy > > jj = jj + 1 > > UnboundLocalError: local variable 'jj' referenced before assignment > > > I could have sworn I was allowed to do this. How do I fix it? >
> I have seen this approach on ActiveState Cookbook but can not find a > reference to it right now. > > >>> def inc(jj): > > ... def dummy(): > ... dummy.jj += 1 > ... return dummy.jj > ... dummy.jj = jj > ... return dummy > ...>>> h = inc(33) > >>> h() > 34 > >>> h() > 35 > >>> i = inc(12) > >>> i() > 13 > >>> i() > > 14 > > Waldemar Here it is: http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/474122 -- http://mail.python.org/mailman/listinfo/python-list