> I'm confused about the behavior of 'not'. The Pickaxe and > Ruby21Days books suggests that 'not' is just another form of '!', > yet, while this works: > > puts ! true # prints false > > this breaks: > > puts not true # parse error puts (!true) puts (not true) What's currently happening with the 'not true' rule is the same as: (puts not) true ! and not are the same in function, but not in operator precedence. not was binding to puts while ! binds to true. <:~) The same applies to 'and' and '&&'. > Can someone enlighten me? How, and where, are these implemented? > Why the difference in behavior? > Is puts true and (!true) > > intertpreted as > (puts true) and (!true) > > I tried this > puts (true and (!true) ) That seems like a bug... -sc -- Sean Chittenden