>>  <<  Usr  Pri  JfC  LJ  Phr  Dic  Voc  !:  Help  Dictionary

if.

if. T do. B end.
if. T do. B else. B1 end.
if. T do. B elseif. T1 do. elseif. T2 do. B2 end.
The last sentence executed in a T block is tested for a non-zero value in its leading atom, determining whether the B block after the do. or the rest of the sentence is executed. An empty T block result or an omitted T block tests true.

See also the select. control structure.
 

For example:
plus=: 4 : 0                  NB. Addition on non-negative integers
 if. y do. >: x plus <: y else. x end.
)

   plus"0/~ i.5
0 1 2 3 4
1 2 3 4 5
2 3 4 5 6
3 4 5 6 7
4 5 6 7 8

sel=: 1 : 'x # ['

quicksort=: 3 : 0
 if. 1 >: #y do. y
 else. 
  (quicksort y <sel e),(y =sel e),quicksort y >sel e=.y{~?#y
 end.
)

   quicksort 15 2 9 10 4 0 13 13 18 7 
0 2 4 7 9 10 13 13 15 18

perm=: 3 : 0                  NB. All permutations of i.y
 if. *y do. ,/ (0 ,. perm&.<: y) {"2 1 \:"1 =i.y else. i.1 0 end.
)

   perm 3
0 1 2
0 2 1
1 0 2
1 2 0
2 0 1
2 1 0

test=: 3 : 0
 if.     0<y do. 'positive'
 elseif. 0>y do. 'negative'
 elseif.     do. 'zero'
 end.
)

   test&.> 5 _2.71828 0
+--------+--------+----+
|positive|negative|zero|
+--------+--------+----+
    
   test&.> '' ; 0 1 _2 ; _3 9
+--------+----+--------+
|positive|zero|negative|
+--------+----+--------+


>>  <<  Usr  Pri  JfC  LJ  Phr  Dic  Voc  !:  Help  Dictionary