Why can't I xor strings?
db3l at fitlinxx.com
Sun Oct 10 00:11:04 CEST 2004
Grant Edwards <grante at visi.com> writes:
> On 2004-10-09, Jeremy Bowers <jerf at jerf.org> wrote:
> >> Regardless of whether this is the best implementation for
> >> detecting if two strings are similar, I don't see why xor for
> >> strings shouldn't be supported. Am I missing something?
> > The basic problem is that there is no obvious "xor on string" operation
> Sure there is. Strings have a boolean value, and the xor
> operation on boolean values is well-defined.
That's an operation, but I'm not sure that's the obvious one. For my
part, if I saw "string1 ^ string2" I'd probably expect a byte by byte
xor with the result being a new string.
It doesn't feel natural to me to have my strings suddenly interpreted
as a new data type based on the operation at hand. Logical operators
work that way but not numerics (it would be in the same vein as string
+ number interpreting the string as a number - that way lies Perl :-))
More information about the Python-list