Hello all,

Another fun one. If you use 'property' to wrap a lambda in a class 
namespace then an extra name leaks into the class namespace (which 
confused our documentation system).

CPython:
 >>> class X(object):
...  p2 = property(lambda self: 34)
...
 >>> dir(X)
['__class__', '__delattr__', '__dict__', '__doc__', '__getattribute__', 
'__hash_
_', '__init__', '__module__', '__new__', '__reduce__', '__reduce_ex__', 
'__repr_
_', '__setattr__', '__str__', '__weakref__', 'p2']

Amongst all the detritus you can see 'p2' nestled there at the end.

IronPython:
 >>> class X(object):
...  p2 = property(lambda self: 34)
...
 >>> dir(X)
['<lambda$0>', '__class__', '__dict__', '__doc__', '__init__', 
'__module__', '__
new__', '__reduce__', '__reduce_ex__', '__repr__', '__weakref__', 'p2']

See the weird first entry! Shouldn't be there...

Thanks

Michael



-- 
Michael Foord
Resolver Systems
[EMAIL PROTECTED]

Office address:     17a Clerkenwell Road, London EC1M 5RD, UK
Registered address: 843 Finchley Road, London NW11 8NA, UK

Resolver Systems Limited is registered in England and Wales as company number 
5467329.
VAT No. GB 893 5643 79 

_______________________________________________
users mailing list
[email protected]
http://lists.ironpython.com/listinfo.cgi/users-ironpython.com

Reply via email to