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

assert.

assert. T
Приводит к выдаче "ошибки в предположениях" ("assertion failure"), если единственное предложение T не имеет результатом массив, состоящий только из единиц (1). Проверкой предположений можно управлять при помощи 9!:34 и 9!:35, если она отключена T не выполняется.
 

Например:
cfi=: 4 : 0 " 0                y-ое сочетание элементов из i.x
  assert. 0<:y
  assert. y=<.y
  assert. y<2^x
  v=. +/\(i.x)!x
  m=. (y<v)i. 1
  (m,x) ci (y-m{0,v)
)

ci=: 4 : 0 " 1 0     
 'm n'=. x
 if. 0=m do.
  i.0
 else.
  v=. +/\ (m-1)!(1-m)}.i.-n
  k=. (v>y) i. 1
  k,(1+k)+(x-1,1+k)ci(y-k{0,v)
 end.
)

   5 cfi 6
0 1

   5 cfi 6+i.10
0 1
0 2
0 3
0 4
1 2
1 3
1 4
2 3
2 4
3 4

   (i.100) -: 100x cfi <:2^100x
1

   5 cfi 33
|assertion failure: cfi
|       y<2^x
   5 cfi 6.2
|assertion failure: cfi
|       y=<.y
   5 cfi 'a'
|domain error: cfi
|   y=    <.y


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