On Thu, May 24, 2001 at 12:18:50PM +0200, M.-A. Lemburg wrote:
Greg Stein wrote: ...
So... my question is: is there any way that we can retain a generic find() (and similar functions from the string/strop module) that operates on any type that implements the buffer API?
Maybe there is some way we can do a mixin for Python types? e.g. "this mixin implements some standard methods for 8-bit character data (using the buffer API), which can be mixed into new Python types" That would reduce the burden for new types.
I suppose that in 2.2 we'll be able to build a class/type hierarchy which then provides these possibilities. I haven't followed Guido's latest checkins closely though -- could be that types don't support multiple inheritence.
No idea either... that's why I asked.
BTW, wouldn't it suffice to add these methods to buffer objects ? Then you could write: buffer(ob).find('.').
You're totally missing the point with that suggestion. It does *not* suffice to add them to buffer objects. What about array objects? mmap objects? Random Joe Object who implements the buffer interface? All of those are out of luck. With strop, I can pass any of those objects to strop.find(). That function has a polymorphic argument. In the current arrangement, every object must implement their own .find and .upper and .whatever. Cheers, -g -- Greg Stein, http://www.lyra.org/