2010/10/17 Rob Hooft <r...@hooft.net>:
> 2010/10/17 Dirkjan Ochtman <dirk...@ochtman.nl>:
>> 2010/10/17 Rob Hooft <r...@hooft.net>:
>>> En zo?
>>>
>>> class Window(object):
>>>        def __init__(self, n):
>>>                self.n = n
>>>
>>>        def __call__(self, list):
>>>                ret = []
>>>                for i in list:
>>>                        if len(ret) == self.n:
>>>                                yield ret
>>>                                ret = ret[1:]
>>>                        ret.append(i)
>>>                if len(ret) == self.n:
>>>                        yield ret
>>>
>>> lijst = [1, 2, 3, 3, 4, 10 , 3 ,2, 2, 1]
>>>
>>> w=Window(3)
>>> for three in w(lijst):
>>>        print three
>>
>> Waarom gebruik je hier een class? Je kan die hele __call__() gewoon
>> als functie schrijven.
>
> Dat vind ik niet pythonic. De grootte van het window instellen is een
> andere functie dan het itereren, en dat wil ik dus scheiden. Zie je
> een probleem met het gebruiken van een class?

YAGNI, en dus niet pythonic...

Groet,

Dirkjan
_______________________________________________
Python-nl mailing list
Python-nl@python.org
http://mail.python.org/mailman/listinfo/python-nl

Antwoord per e-mail aan