It is not a bug and the following sequence illustrates why the behavior is
reasonable:

   (n$0) , i. 2 2  [ n=: 3
0 0 0
0 1 0
2 3 0
   (n$0) , i. 2 2  [ n=: 2
0 0
0 1
2 3
   (n$0) , i. 2 2  [ n=: 1
0 0
0 1
2 3
   (n$0) , i. 2 2  [ n=: 0
0 0
0 1
2 3



On Fri, Jan 11, 2013 at 8:52 AM, Steven Taylor <tayl...@gmail.com> wrote:

> I didn't expect this extra (0 0) in the result.
>
>    (0 $ 0),i. 2 2
> 0 0
> 0 1
> 2 3
>
>    i.e. nothing prepended to shape equals the same shape (not more or less)
>
> Is this a bug, or does this make sense in some situations?  What should the
> J way be?
>
> For a simple list, we get my expected behaviour :
>
>    (0 $ 0),i. 3
> 0 1 2
>
> Here's a possible solution
>
> empty=:(<'') = [: < [
>
> empty 0 $ 0
>   NB. build result
>   (xci sort~ u,xa),ya
> )
>
> empty=:(<'') = [: < [
>
> carefulappend=:13 : '(empty x)}. x,y' f.
>
> carefulappend2=:4 : 0
>   if. (empty x) do.
>     r=.y
>   elseif. empty y do.
>     r=.x
>   elseif. do.
>     r=.x,y
>   end.
>   r
> )
>
>    (0 $ 0) carefulappend i. 2 2
> 0 1
> 2 3
>
>    (0 $ 0) carefulappend2 i. 2 2
> 0 1
> 2 3
>
> thanks,
> -Steven
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm
>
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to