From: Christian Date: 2007-11-28T13:43:24+09:00 Subject: Re: Binary Logic, Bug or Feature? It should work if you use && instead of and. Not sure why that is, but I'm experencing the same thing as you when doing x = true and false, but it works as expected when using x = true && false. On 11/28/07, Malcolm Lockyer wrote: > Hi Guys, > > > I have been pulling my hair out for the last 20 minutes trying to find > out what is wrong in my app that has some pretty basic binary logic. > Here is a concise example in an irb session that shows my problem > (certainly, what I was working on wasn't nearly as simple the sides of > AND were variables etc.): > > ?> x = true and true > => true > >> x > => true > > (this is what I expect, true and true = true) > > >> x = true and false > => false > >> x > => true > > But what I've got here is "true and false" == false, but it assigns > true to x. So true and false == false, but really == true... Have I > lost my mind, should it do this? Does it do it for anyone else? It > seems weird to me since the first example does what I expect, but the > second doesn't... > > So now I'm reduced to doing something like: > if (true and false) then x = true else x = false end > which is kind of annoying, and not very ruby-esque IMO. > > Any advice appreciated! > > $ ruby -v > ruby 1.8.5 (2006-08-25) [i486-linux] > > OS is Ubuntu 7.04. > > (I know, old ruby ver - its just the stock ubuntu one) > > > THANKS! > - Malcolm. > > -- "Every child has many wishes. Some include a wallet, two chicks and a cigar, but that's another story."