Oh wow, you mean it will work if I use the OR operator? /facepalm. Completely missed that mistake. Thanks Alex. Obviously works just fine. Can't believe I missed that this whole time.
Chris On Fri, Jan 17, 2014 at 4:28 PM, Alex Harui <aha...@adobe.com> wrote: > What happens if you use || instead of | > > On 1/17/14 3:24 PM, "Chris Martin" <windo...@gmail.com> wrote: > > >Hey everyone, > > > >I'm not sure why this is not working, and i'd like to understand why I get > >the compile error. I just keep looking at the code and thinking it should > >be okay. I'm basically trying to set a Boolean via a "inline check". > >Here > >are some variables to give you an idea of the initialized state. > > > >var str1:String = ""; > >var num1:Number; > >var num2:Number = 0; > >var resultBool:Boolean = false; > > > >Here's the line of code. > > > >resultBool = (str1 != "" | (!isNaN(num1) | num2 != 0)); > > > >It looks more confusing when I removed the context out of it, but yeah > >that's it. > > > >When I compile it I get the follow error: > >1067: Implicit coercion of a value of type Boolean to an unrelated type > >Number. > > > >I ultimately expanded the logic to be this, to stop the compile error from > >happening. > > > >if(str1 != "") > > resultBool = true; > >else{ > > if(!isNaN(num1)) > > resultBool = true; > > else if(num2 != 0) > > resultBool = true; > >} > > > >I even tried this variation and still got the exception during compile. > > > >resultBool = (str1 != "") | (!isNaN(num1) | num2 != 0); > > > >So yeah. I'm certainly not adverse to having the expanded version in my > >code. It will probably be easier to read anyways. I just wanna get my > >head straight on understanding the why. > > > >Thanks in advance, > > > >Chris > >