[Python-es] Traits en Python

Olemis Lang olemis en gmail.com
Jue Ago 29 17:12:31 CEST 2013


On 8/29/13, Chema Cortes <pych3m4 en gmail.com> wrote:
> El día 29 de agosto de 2013 08:24, Olemis Lang <olemis en gmail.com> escribió:
[...]
>> razón por la cual estaba creyendo conveniente tener el equivalente d
>> (Scala)
>>
>> new Class() with Trait1 with Trait2 with ... Trait_n{
>>   def transform(obj: String): obj.toLower()
>> }
>>
>> con una sintaxis más o menos así
>>
>> cls = Trait1(Trait2(... Trait_n(Class)))
>> obj = cls()
>
> No entiendo bien. La versión "decorador" que te había puesto puede
> hacer este "encadenado":
>
> cls = Trait1.register(Trait2.register(....Trait_n.register(Class)))
>
> Si lo quieres más práctico, cambia el método register por un método
> __call__
>

sí , lo q trataba d decir q el ejemplo está bastanate bien , solo q le
faltaría un detalle para no copiar los atributos del trait en el
namespace de la definición local de la clase , sino resolverlos
dinámicamente à la MRO.
;)

> Otra cosa distinta es que quieras crear clases anónimas como en scala.
> Pero, según Guido, éso es sólo para listos. :-P
>

<joke> ¡ uso Python ! soy muy listo :P </joke>

[...]

-- 
Regards,

Olemis - @olemislc

Apache™ Bloodhound contributor
http://issues.apache.org/bloodhound
http://blood-hound.net

Blog ES: http://simelo-es.blogspot.com/
Blog EN: http://simelo-en.blogspot.com/

Featured article:
Google Zoo - http://goo.gl/fb/rEI8e


Más información sobre la lista de distribución Python-es