[Fredrik Lundh]
> would "abc".find("", 100) == 3 be okay?  or should we switch to treating the
> optional start and end positions as "return value boundaries" (used to filter 
> the
> result) rather than "slice directives" (used to process the source string 
> before
> the operation)?  it's all trivial to implement, and has no performance 
> implications,
> but I'm not sure what the consensus really is...

FWIW, I like what you eventually did:

>>> "ab".find("")
0
>>> "ab".find("", 1)
1
>>> "ab".find("", 2)
2
>>> "ab".find("", 3)
-1
>>> "ab".rfind("")
2
>>> "ab".rfind("", 1)
2
>>> "ab".rfind("", 2)
2
>>> "ab".rfind("", 3)
-1

I don't know that a compelling argument can be made for such a
seemingly senseless operation, but the behavior above is at least
consistent with the rule that a string of length n has exactly n+1
empty substrings, at 0:0, 1:1, ..., and n:n.
_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com

Reply via email to