lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]


It was thus said that the Great William Ahern once stated:
> On Sun, Jan 05, 2014 at 09:31:05PM -0600, Andrew Starks wrote:
> <snip>
> >    (At least we're not arguing for a type system or lambda notation or a
> >    ternary operator...)
> > 
> 
> That last argument over the ternary operator totally confused me. I had
> always correctly parsed the precedence of and/or expressions without
> thinking. But after reading that huge thread (or threads) I totally lost all
> confidence. I don't know why. But the mere discussion of it really messed
> with my head. Now whenever I write a complex boolean expression I find
> myself carefully stepping through it, like a child counting pennies
> (centavos?) with his fingers.
> 
> I've written ciphers, virtual machines, and all manner of other kinds of
> code. But now I feel stumped by Lua's boolean operators. It's the worst
> feeling.

  Think of the operators as:

	and = *
	or  = +

  Thus, the expression:

	A and B or C

will be parsed as

	A * B + C

  So, just as '*' has a higher precedence than '+', so does 'and' have a
higher precedence than 'or'.

  -spc