[Python-Dev] timsort for jython
Eric S Raymond
esr@thyrsus.com
Mon, 5 Aug 2002 13:22:54 -0400
Guido van Rossum <guido@python.org>:
> > > Um, you meant "is >= 0". The find() method doesn't return a bool, it
> > > returns the first index where the string is found, and -1 if it is not
> > > found.
> >
> > Which only goes to prove that the people who've been whining about that
> > characteristic of find() were right all along. ;-)
>
> So what would you like it to return? True/False, with no possibility
> of finding where the substring starts? That defeats a common use
> case.
True. On the other hand, this is a very common gotcha. I've been bitten by
it three times in the last week, and I should know better. Fact is that
missing > -1 is hard to spot.
I think the right answer is to leave find() as it is and have a different
notation that returns bool. How about `a in b' whenever a and b are
both string-valued? Seems the most natural candidate.
--
<a href="http://www.tuxedo.org/~esr/">Eric S. Raymond</a>