On Nov 30, 2012, at 3:33 PM, Igor Stasenko wrote:

> It says:
> 
> "I am an abstract collection of elements with a fixed range of
> integers (from 1 to n>=0) as external keys."
> 
> now that leaves me clueless, why then it does not defines (introduces)
> a protocol:
> #at:
> and
> #at:put:
> 
> at least as an abstract one , i.e. subclassResponsibility
> 
> is it because they are already in Object protocol? And because
> subclasses (like Array) using default #at: implementation?
> 
> I don't know, but i think Object should not have #at:/#at:put:
> protocol.. because:
> - it applicable only to variable subclasses
> - many classes have own implementation of it
> - the behavior behind this is to access a variable fields . while
> other classes use this protocol for higher abstractions (like
> dictionaries)
> 
> so, to my thinking, Object should not define this protocol.. for this
> purpose we having #basicAt:/put: methods.
> 
> btw, just an idea to clarify things even more, we could rename them to
> variableAt: [put:]
> (or any other name which properly tells that method provides an access
> to variable fields of object).
> 
+ 1

> 
> -- 
> Best regards,
> Igor Stasenko.
> 


Reply via email to