On 16.11.2012, at 11:54, Andriy Kornatskyy wrote:

>> Subject: Re: Lazy Attribute
>> From: ste...@epy.co.at
>> Date: Fri, 16 Nov 2012 11:45:32 +0100
>> To: python-list@python.org
>> 
>> On 16.11.2012, at 11:29, Steven D'Aprano wrote:
>> 
>>> I'm very vaguely leaning towards this as the least-worst solution to
>>> invalidating the cached value:
>>> 
>>> refresh(obj, 'attr') # pass the instance and the name
>> 
>> This it exactly how lazy handles invalidation. 
>> http://lazy.readthedocs.org/en/latest/
> 
> @property is a solution to evaluate something that is dynamic. @attribute is 
> good for immutable objects. Even if we assume refresh is a good idea... how I 
> would know when it is valid to `refresh`? What is criteria?
> 
> Andriy

I had to implement invalidation anyway in order to write tests. I decided to 
expose the mechanism to keep users from having to invent their own SHOULD the 
need arise. I was not advocating invalidation in any way with my reply. All I 
wanted was to confirm the "least bad" solution. ;-)

Stefan

-- 
Stefan H. Holek
ste...@epy.co.at

-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to