Isn't bool __invert__ behaviour "strange"?
Steve Holden
steve at holdenweb.com
Fri Sep 22 21:16:58 EDT 2006
MonkeeSage wrote:
> Hi Saizan,
>
> I don't really see anything wrong with creating a custom class for
> evaluating those kinds of logical statements. It does make the code for
> statements more concise and easy to follow (with less binding
> ambiguity). Mabye something like this would help:
>
> class logic(int):
> def __sub__(self):
> return logic(not self)
> def eval(self, statement):
> return bool(statement)
> def make_logical(self, *args):
> out = []
> for arg in args:
> out.append(logic(arg))
> return out
>
> l = logic()
> # init a buch of variables (or a list) at once
> x, y, z = l.make_logical(True, False, True)
> # or one at a time
> v = logic(False)
> # evaluate a statement
> print l.eval((x and y) or (-z or -v)) # True
>
Is this a serious suggestion, or simply an attempt at sardonic obscurantism?
regards
Steve
--
Steve Holden +44 150 684 7255 +1 800 494 3119
Holden Web LLC/Ltd http://www.holdenweb.com
Skype: holdenweb http://holdenweb.blogspot.com
Recent Ramblings http://del.icio.us/steve.holden
More information about the Python-list
mailing list