Bug in string.find; was: Re: Proposed PEP: New style indexing,was Re: Bug in slice type
Robert Kern
rkern at ucsd.edu
Tue Aug 30 07:54:38 EDT 2005
Antoon Pardon wrote:
> Op 2005-08-30, Robert Kern schreef <rkern at ucsd.edu>:
>
>>Bryan Olson wrote:
>>
>>> Currently, user-defined classes can implement Python
>>> subscripting and slicing without implementing Python's len()
>>> function. In our proposal, the '$' symbol stands for the
>>> sequence's length, so classes must be able to report their
>>> length in order for $ to work within their slices and
>>> indexes.
>>>
>>> Specifically, to support new-style slicing, a class that
>>> accepts index or slice arguments to any of:
>>>
>>> __getitem__
>>> __setitem__
>>> __delitem__
>>> __getslice__
>>> __setslice__
>>> __delslice__
>>>
>>> must also consistently implement:
>>>
>>> __len__
>>>
>>> Sane programmers already follow this rule.
>>
>>Incorrect. Some sane programmers have multiple dimensions they need to
>>index.
>
> I don't see how that contradicts Bryan's statement.
>
>> from Numeric import *
>> A = array([[0, 1], [2, 3], [4, 5]])
>> A[$-1, $-1]
>>
>>The result of len(A) has nothing to do with the second $.
>
> But that is irrelevant to the fact wether or not sane
> programmes follow Bryan's stated rule. That the second
> $ has nothing to do with len(A), doesn't contradict
> __len__ has to be implemented nor that sane programers
> already do.
Except that the *consistent* implementation is supposed to support the
interpretation of $. It clearly can't for multiple dimensions.
--
Robert Kern
rkern at ucsd.edu
"In the fields of hell where the grass grows high
Are the graves of dreams allowed to die."
-- Richard Harter
More information about the Python-list
mailing list