Difference between revisions of "Error Messages/40020"

 
(One intermediate revision by the same user not shown)
Line 1: Line 1:
 
[[Category:Error messages]]
 
[[Category:Error messages]]
  
== Error Message Examples ==
+
== Error message examples ==
  
:<code>''The condition for "while" evaluates to an array. It should evaluate to true(non-zero) of false(zero).''</code>
+
:<code>''The condition for "while" evaluates to an array. It should evaluate to true (non-zero) of false (zero).''</code>
  
 
== Cause ==
 
== 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.
+
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 <code>Time > 5</code> will evaluate to an array.
  
<code>Var a:= 5; </code>
+
:<code>Var a:= 5; </code>
<code>While( Time > 5 ) Do{</code>
+
:<code>While(Time > 5) Do{</code>
<code>a++;</code>>
+
:<code>a++;</code>
<code>}</code>
+
:<code>}</code>
<code>...</code>
+
:<code>...</code>
  
 
== Remedies ==
 
== Remedies ==
Line 18: Line 18:
  
 
=== 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 [[Ensuring Array Abstraction]] in [[Analytica User Guide]] on how to deal with this.
 
 
  
 
==See Also==
 
==See Also==
Line 25: Line 24:
 
* [[Time]]
 
* [[Time]]
 
* [[Array Abstraction]]
 
* [[Array Abstraction]]
 +
* [[Ensuring Array Abstraction]]

Latest revision as of 01:26, 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 Ensuring Array Abstraction in Analytica User Guide on how to deal with this.

See Also

Comments


You are not allowed to post comments.