[Python-Dev] Shortcut Notation for Chaining Method Calls

Michael Foord fuzzyman at voidspace.org.uk
Sun Feb 4 00:30:57 CET 2007


Greg Ewing wrote:
> Michael O'Keefe wrote:
>   
>> I'd like to see a built-in shorthand to allow me to 
>> chain method calls even when a method call does not explicity 
>> return a reference to the instance of the object (self).
>>     
>
>   
>> def newFunc02():
>>     return NewList([8,9,7,1]).self_('sort').self_('reverse').self_('pop',0)
>>     
>
> My thought is that you're trying to write programs
> in some other language using Python.
>
> If you really want all that on one line, you can
> do it already:
>
>    x = NewList([8,9,7,1]); x.sort(); x.reverse(); return x.pop(0)
>
> which is just as compact and doesn't suffer from
> the weirdness of passing method names in as quoted
> strings.
>   
You could write a metaclass which decorates all methods in a class.  Any 
methods which return None could return self instead.

Michael

> --
> Greg
> _______________________________________________
> Python-Dev mailing list
> Python-Dev at python.org
> http://mail.python.org/mailman/listinfo/python-dev
> Unsubscribe: http://mail.python.org/mailman/options/python-dev/fuzzyman%40voidspace.org.uk
>
>
>   



More information about the Python-Dev mailing list