Перевернуть | |. _ 1 _ | Сдвинуть |
|. y переворачивает y поэлементно, изменяя порядок
элементов на обратный.
Например:|. t=: 'abcdefg' gfedcbaМонада |.!.f выполняет сдвиг вправо, аналогично диаде с левым аргументом _1 . Например: |.!.'#' t #abcdef |.!.10 i.3 3 10 10 10 0 1 2 3 4 5 |
x|.y проворачивает (циклически) элементы в
последовательных измерениях y на
количество позиций, заданное соответствующими
элементами x . Таким образом: 1 2 |. i. 3 5 7 8 9 5 6 12 13 14 10 11 2 3 4 0 1Фраза x |.!.f y выполняет сдвиг: элементы, которые при провороте вернулись бы обратно в массив, заменяются атомом f , если только f не пуст (0=#f), тогда они заменяются обычным заполнителем, определенным во Взять ({.): 2 _2 |.!.'#'"0 1 t cdefg## ##abcde |
y=: a.{~ (a. i. 'A') + i. 5 6 (] ; 2&|. ; _2&|. ; 2&|."1 ; 2&(|.!.'*'"1)) y +------+------+------+------+------+ |ABCDEF|MNOPQR|STUVWX|CDEFAB|CDEF**| |GHIJKL|STUVWX|YZ[\]^|IJKLGH|IJKL**| |MNOPQR|YZ[\]^|ABCDEF|OPQRMN|OPQR**| |STUVWX|ABCDEF|GHIJKL|UVWXST|UVWX**| |YZ[\]^|GHIJKL|MNOPQR|[\]^YZ|[\]^**| +------+------+------+------+------+ (] ; |. ; |."1 ; |.!.'*'"1 ; (2: |. ])) y +------+------+------+------+------+ |ABCDEF|YZ[\]^|FEDCBA|*ABCDE|MNOPQR| |GHIJKL|STUVWX|LKJIHG|*GHIJK|STUVWX| |MNOPQR|MNOPQR|RQPONM|*MNOPQ|YZ[\]^| |STUVWX|GHIJKL|XWVUTS|*STUVW|ABCDEF| |YZ[\]^|ABCDEF|^]\[ZY|*YZ[\]|GHIJKL| +------+------+------+------+------+ 1 _2 |. !. '*' 3{. y **GHIJ **MNOP ******