select. T case. T0 do. B0 case. T1 do. B1 fcase. T2 do. B2 case. T3 do. B3 end.The result R of T is compared to the elements of the result Ri of Ti , and the Bi block of the first case. or fcase. with a match is evaluated. Evaluation of the select. control structure then terminates for a case. , or continues with the next B(i+1) block for an fcase. (and further continues if it is an fcase.). The comparison is R e.&boxifopen Ri where boxifopen=:<^:(L.=0:) , and a case with an omitted Ti is considered to match. |
f0=: 3 : 0
select. y
case. 1;2 do. 'one two'
case. 3 do. 'three'
case. 4;5 do. 'four five'
case. 6 do. 666
end.
)
f0&.> 1 2 3 4 5 6
+-------+-------+-----+---------+---------+---+
|one two|one two|three|four five|four five|666|
+-------+-------+-----+---------+---------+---+
(i.0 0) -: f0 7
1
f1=: 3 : 0
select. y
case. 'a' do. i.1
case. 'b' do. i.2
case. do. i.3
end.
)
f1&.> 'a' ; ('a';'b') ; 'b' ; 'x'
+-+-+---+-----+
|0|0|0 1|0 1 2|
+-+-+---+-----+
f2=: 3 : 0
t=. ''
select. y
case. 1 do. t=.t,'one '
fcase. 2 do. t=.t,'two '
case. 3 do. t=.t,'three '
fcase. 4 do. t=.t,'four '
end.
)
f2 1
one
f2 2
two three
f2 3
three
f2 4
four
'' -: f2 5
1