Overriding logical operators?
greg at cosc.canterbury.ac.nz
Tue Aug 24 06:57:38 CEST 2004
Robert Brewer wrote:
> This has come up before--in particular, I think Greg Ewing was taking a
> stab at it last.
I have some ideas on how it could be done, although I
haven't gotten around to trying them out yet.
Essentially, there would be two special methods corresponding
to each of these, e.g. '__and1__' and '__and2__' etc. The
first operand would be evaluated and passed to __and1__. If
that can determine the result, it returns it, and evaluation of
the other operand is skipped. If not, it returns a special value
(or maybe raises a special exception) which means "other operand
needed". The second operand is evaluated, and both operands are
passed to __and2__, which returns the final result.
Greg Ewing, Computer Science Dept,
University of Canterbury,
Christchurch, New Zealand
More information about the Python-list