> 
> In fact, I think it would be a fruitful discussion to compare and contrast
> the cases where we use:
> 
>    *  "
>    *  /
>    *  ^:iteration_calculator
>    *  ^:condition^:_
>    *  $:
>    *  for. and while.
> 
> I say that because I struggled with the third sentence of this message.  I
> couldn't quite articulate the type of problem which would cause one to use
> $:  instead of  ^:  .
> 
> -Dan

I myself am far too incompetent to start this fruitful discussion, but
actually I do have several peaces of code which are implemented with for or
while loops. I don't like them and I'm quite sure there are nicer ways to
write them, but it has been to complicated to me so far.

For example the following peace:

y is a matrix of shape n * n
x is a number between 0..n-1

roll =. ?+/ row =. x { y
index =. 0
while. roll > 0 do.
        roll. =. roll. - index { row
        index =: >: index
end.
if. index = 0 do.
        index =. 1
end.

For the last if-clause I figured out something like this:

check =: =&0^:(=&0)

And 'check index' seems to work as expected, but I'm not quite sure if it
really is working correctly

Kairit Sirts


----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to