On 2021-10-13 16:26, Marc-Andre Lemburg wrote:
On 13.10.2021 17:11, Guido van Rossum wrote:
Maybe we should only accept operators as aliases for existing methods.

x-y could mean x.removesuffix(y)

That was the idea, yes, in particular to make it similar to "+",
which adds to the end of the string, so that:

s = x - oldend + newend

works as expected.

I don't think x~y is intuitive enough to use.

True.

I tried to find an operator that looked similar to "-", but
"~" would only work as unary operator, a Chris correctly pointed
out, and even if it were a binary one, it would look too
similar to "-" and also doesn't play well when used on a single
line.

s = newstart + (x ~ oldstart)

So I withdraw that proposal.

From a mathematical point of view, x-y is equivalent to x+(-y).

That leads me to me "negative" strings that, when added to a string, remove characters instead of adding them.

For example:

    "abcdef" - "ef" == "abcdef" + (-"ef") == "abcd"

and also:

    (-"ab") + "abcdef" == "cdef"

Voilà! An alternative to .removeprefix. :-)

On Wed, Oct 13, 2021 at 8:03 AM Stephen J. Turnbull <stephenjturnb...@gmail.com
<mailto:stephenjturnb...@gmail.com>> wrote:

    Chris Angelico writes:

     > +1, although it's debatable whether it should be remove suffix or
     > remove all. I'd be happy with either.

    If by "remove all" you mean "efefef" - "ef" == "", I think that's a
    footgun.  Similarly for "efabcd" - "ef" == "abcdef" - "ef".

    Steve


_______________________________________________
Python-ideas mailing list -- python-ideas@python.org
To unsubscribe send an email to python-ideas-le...@python.org
https://mail.python.org/mailman3/lists/python-ideas.python.org/
Message archived at 
https://mail.python.org/archives/list/python-ideas@python.org/message/VLB465I7UGTLLFVSJWQAUPVPARIDVKUI/
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to