Missing a 'do' ? see in between
On 21-02-12 07:33, PackRat wrote:
> When loading a script to test, I get an immediate "control error" when
> I give the command to load it. The following is the portion of the
> script that has all of the control structures. I've drawn an arrow
> pointing to the line where the error is supposed to have occurred. I'm
> probably "blind" to the error because I'm just not seeing the problem.
>
> ================================================================
>
> for_i. i.(#a) do.
>
> currHi=. ".> (i { H)
> currLo=. ".> (i { L)
> currCl=. ".> (i { C)
>
> if. (0=i) do.
> diffHi=. 0
> diffLo=. 0
> else.<-------- control error here
> prevHi=. ".> ((i-1) { H)
> prevLo=. ".> ((i-1) { L)
> diffHi=. currHi - prevHi
> if. 0<:diffHi do. pivotHi=. currHi end.
> diffLo=. prevLo - currLo
> if. 0<:diffLo do. pivotLo=. currLo end.
> end.
>
> if. diffLo>diffHi do.
> if. currLo<: ( pivotHi * (1-swing) ) do.
> xx=. xx , currLo
> else.
> xx=. xx , ( {: xx ) NB. repeat previous value
> end.
> else.
> if. currHi>: ( pivotLo * (1+swing) )
*Missing a 'do'*
> xx=. xx , currHi
> else.
> xx=. xx , ( {: xx ) NB. repeat previous value
> end.
> end.
>
> end.
>
> ================================================================
>
> The same error (at the same line) occurs if the following lines:
>
> if. 0<:diffHi do. pivotHi=. currHi end.
> . . .
> if. 0<:diffLo do. pivotLo=. currLo end.
>
> are instead expanded to:
>
> if. 0<:diffHi do.
> pivotHi=. currHi
> end.
> . . .
> if. 0<:diffLo do.
> pivotLo=. currLo
> end.
>
>
> I would appreciate any assistance in "opening my eyes"--thanks in
> advance!
>
>
> Harvey
>
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm
--
Met vriendelijke groet,
@@i = Arie Groeneveld
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm