the :. trick from Michal is cute.

Here is how I would like to be able to call the code (note this produces 
incorrect results):

if =: 2 : '((u"_) :. ])^:([: -. [: +: [: -. v)"0'

else =: 2 : '(u"_):.(v"_)'


   3 if (0<]) i:5
_5 _4 _3 _2 _1 0 3 3 3 3 3

   +: else 3 if (0<]) i:5
_5 _4 _3 _2 _1 0 2 4 6 8 10

   0 else -: if (0>]) else +: if (0<]) i:5
_5 _4 _3 _2 _1 0 1 2 3 4 5



What I need that I can't seem to write is an adverb isGerund, that returns 0 or 
1 depending on whether m or u (the tricky part is handling both without error.

   notGerund =: 1 : '(((( < ": 1 $ 0 )-:{.) *. 2=#) > ar m)'
   3 notGerund
1

   +`- notGerund
0

   notGerundu =: 1 : '(((( < ": 1 $ 0 )-:{.) *. 2=#) > ar u 0)' NB. this 
variation is needed if u is verb.
   3: notGerundu 
1

I would like to have a single adverb that can handle both m and u (noun/gerund 
and verb) parameters.



----- Original Message -----
From: Raul Miller <rauldmil...@gmail.com>
To: Programming forum <programm...@jsoftware.com>
Cc: 
Sent: Tuesday, February 4, 2014 9:43:18 AM
Subject: Re: [Jprogramming] 'if' and 'else' operators

if=: 2 :0
   u"_`(v"_)
)

else=: 2 :0
  v"_`(0{m)@.((1{m)`:6)
)

   ('O' if (=0:) else ('<' if (<0:) else '>'))"0 i:5
<<<<<O>>>>>

Do you also want to see an implementation for your alternate proposal?

Thanks,

-- 
Raul

On Tue, Feb 4, 2014 at 3:48 AM, Michal Wallace <michal.wall...@gmail.com> wrote:
>        ('O' if (=0:) else ('<' if (<0:) else '>'))"0 i:5
>     <<<<<O>>>>>
>
> There are nicer ways to make this output,
> but how would you code 'if' and 'else' above?
>
> Or... 'if'/'then'/'else' below, if you prefer?
>
>     a =: assert
>     a   4 1 0 2 4  -:   if (<0:) then (*: else +:)  i:2
>     a   4 1 0 2 4  -:  (if (<0:) then (*: else +:)) i:2
>     a  (if ] then (| else -.)) 1 1 0 0 1 0 1 0
>     a   if ] then (| else -.)  1 1 0 0 1 0 1 0
>
> My versions are here:
>
>    https://github.com/tangentstorm/tangentlabs/blob/master/j/syntax.ijs
>
> Thoughts? :)
>
> -Michal
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm

----------------------------------------------------------------------
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