[Python-bugs-list] [ python-Bugs-223520 ] Example code doesn't work
noreply@sourceforge.net
noreply@sourceforge.net
Wed, 17 Jul 2002 10:52:54 -0700
Bugs item #223520, was opened at 2000-11-27 00:10
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=105470&aid=223520&group_id=5470
Category: Documentation
Group: Not a Bug
Status: Closed
Resolution: Invalid
Priority: 5
Submitted By: Nobody/Anonymous (nobody)
Assigned to: Fred L. Drake, Jr. (fdrake)
Summary: Example code doesn't work
Initial Comment:
In section 4.7.4 the code snippet:
def make_incrementor(n):
return lambda x, incr=n: x+incr
doesn't seem to work. It seems to be returning the lambda function handle instead. This occurred on Win98, using python interactively.
----------------------------------------------------------------------
>Comment By: Tim Peters (tim_one)
Date: 2002-07-17 13:52
Message:
Logged In: YES
user_id=31435
The need for the default argument trick went away when
Python added lexical scoping. Make sure the version of the
docs you're looking at are correct for the version of Python
you're running.
----------------------------------------------------------------------
Comment By: Nobody/Anonymous (nobody)
Date: 2002-07-17 13:39
Message:
Logged In: NO
This is strange... the sample code in section 4.7.4 at
www.python.org/doc/current/tut/node6.html shows:
def make_incrementor(n):
return lambda x: x + n
which doesn't work. Did the change to add a default
parameter get undone somehow?
Thanks,
Jeremy Weatherford
----------------------------------------------------------------------
Comment By: Fred L. Drake, Jr. (fdrake)
Date: 2000-11-27 10:50
Message:
The doc update is fine, Tim.
If you want me to review something, don't close the bug!
----------------------------------------------------------------------
Comment By: Tim Peters (tim_one)
Date: 2000-11-27 01:46
Message:
Not a bug. It's *supposed* to return a (anonymous) function. I added a little more to the tutorial's example (rev 1.121):
>>> def make_incrementor(n):
... return lambda x, incr=n: x+incr
...
>>> f = make_incrementor(42)
>>> f(0)
42
>>> f(1)
43
>>>
Assigned to Fred for doc review, but already closed the bug report.
----------------------------------------------------------------------
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=105470&aid=223520&group_id=5470