Difference between revisions of "Error Messages/40020"
Line 1: | Line 1: | ||
− | + | [[Category:Error messages]] | |
− | + | == Error Message Examples == | |
− | + | :<code>''The condition for "while" evaluates to an array. It should evaluate to true(non-zero) of false(zero).''</code> | |
− | This error is caused when an array is passed as the condition of a while loop. The following code will produce this error as Time is an array and "Time > 5" will evaluate to an array. | + | == Cause == |
+ | This error is caused when an array is passed as the condition of a [[while]] loop. The following code will produce this error as [[Time]] is an array and "Time > 5" will evaluate to an array. | ||
− | <code> | + | <code>Var a:= 5; </code> |
− | Var a:= 5; < | + | <code>While( Time > 5 ) Do{</code> |
− | While( Time > 5 ) Do{< | + | <code>a++;</code>> |
− | a++;< | + | <code>}</code> |
− | }< | + | <code>...</code> |
− | ... | ||
− | </code> | ||
− | |||
− | |||
+ | == Remedies == | ||
Correct the condition for the while loop so it evaluates to true or false. | Correct the condition for the while loop so it evaluates to true or false. | ||
− | == Suggested revised message == | + | === Suggested revised message === |
− | + | In a construct '''WHILE''' <cond> '''DO''' <exp>, the condition should be a scalar (true (non-zero) or false (zero)), but not an [[array]]. See the [[Analytica User Guide]] chapter [[Procedural Programming]] section [[Ensuring Array Abstraction]] on how to deal with this. | |
− | In a construct '''WHILE''' <cond> '''DO''' <exp>, the condition should be a scalar (true(non-zero) or false(zero)), but not an array. See the [[Analytica User Guide]] chapter [[Procedural Programming]] section [[Ensuring Array Abstraction]] on how to deal with this. | ||
− | + | ==See Also== | |
+ | * [[While..Do]] | ||
+ | * [[Time]] | ||
+ | * [[Array Abstraction]] |
Revision as of 01:20, 4 February 2016
Error Message Examples
The condition for "while" evaluates to an array. It should evaluate to true(non-zero) of false(zero).
Cause
This error is caused when an array is passed as the condition of a while loop. The following code will produce this error as Time is an array and "Time > 5" will evaluate to an array.
Var a:= 5;
While( Time > 5 ) Do{
a++;
>
}
...
Remedies
Correct the condition for the while loop so it evaluates to true or false.
Suggested revised message
In a construct WHILE <cond> DO <exp>, the condition should be a scalar (true (non-zero) or false (zero)), but not an array. See the Analytica User Guide chapter Procedural Programming section Ensuring Array Abstraction on how to deal with this.
See Also
Comments
Enable comment auto-refresher