\
имеет диади c валентность для выбора списков определенной длины, с различным поведением в зависимости от положительной и отрицательной длин:
2]\i.4
0 1
1 2
2 3
3]\i.4
0 1 2
1 2 3
_2]\i.4
0 1
2 3
_3]\i.4
0 1 2
3 0 0
То есть для сравнения пар :
n=:1 2 2 2 3 3 1
2]\n
1 2
2 2
2 2
2 3
3 3
3 1
=/"(1) 2]\n
0 1 1 0 1 0
_2]\n
1 2
2 2
3 3
1 0
=/"(1) _2]\n
0 1 1 0
Заботясь о последней паре, вы также можете повернуть список:
n ,: n
1 2 2 2 3 3 1
1 2 2 2 3 3 1
(] ,: 1&|.) n
1 2 2 2 3 3 1
2 2 2 3 3 1 1
=/(] ,: 1&|.) n
0 1 1 0 1 0 1
Если вы хотите получить каждый элемент с предыдущий сосед:
2|.\1 2 3 4
2 1
3 2
4 3
Существует также использование 'subarrays' cut:
2 <;.3 n
┌───┬───┬───┬───┬───┬───┬─┐
│1 2│2 2│2 2│2 3│3 3│3 1│1│
└───┴───┴───┴───┴───┴───┴─┘
2 <;._3 n
┌───┬───┬───┬───┬───┬───┐
│1 2│2 2│2 2│2 3│3 3│3 1│
└───┴───┴───┴───┴───┴───┘
2 =/;._3 n
0 1 1 0 1 0