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