On Sat, 11 Nov 2006 01:13:03 -0600, Ron Adam wrote: > Steven D'Aprano wrote: >> On Fri, 10 Nov 2006 21:24:50 +0100, Bjoern Schliessmann wrote: >> >>> Marc 'BlackJack' Rintsch wrote: >>> >>>> No it doesn't -- look again at the example given above. It's >>>> legal syntax in Python but doesn't have the semantics implied by >>>> the example. >>> Sorry, I don't understand -- what is the difference between the >>> example as it is and the implied semantics of it? >> >> Inform 6 "x == blue or red or yellow" is equivalent to the Python >> >> x == blue or x == red or x == yellow > > Maybe it should have been expressed as: > > x == (blue or red or yellow)
But that has very different semantics still -- since parentheses have the highest priority, it means "evaluate (blue or red or yellow), then test if x is equal to the result". It might be useful on occasion to have a construct for "x equals blue or red or yellow" in the sense used by normal English or Inform 6. And, funnily enough, Python has such a construct. You just have to write "in" instead of ==, and use a tuple for the terms: x in (blue, red, yellow) Not hard to remember, and unambiguous. -- Steven. -- http://mail.python.org/mailman/listinfo/python-list