>>  <<  Ркв  Ввд  JfC  LJ  Фрз  Слв  Изм  Рзг  !:  Помощь  Словарь

select.

select. T
 case.  T0 do. B0
 case.  T1 do. B1
 fcase. T2 do. B2
 case.  T3 do. B3
end.
Производится последовательное сравнение результата R блока T с результатами Ri блоков Ti , совпадение приводит к выполнению блока Bi соответствующего case. или fcase. . Если совпадение было в case. , выполнение конструкции select. заканчивается. Если в fcase. , выполняется следующий блок B(i+1) (и далее, если он тоже в fcase.).

Сравнение осуществляется как R e.&boxifopen Ri , где boxifopen=:<^:(L.=0:). Отсутствие Ti считается совпадением.
 

Например:
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


>>  <<  Ркв  Ввд  JfC  LJ  Фрз  Слв  Изм  Рзг  !:  Помощь  Словарь