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

Reply via email to