Сосчитать | # _ 1 _ | Копировать |
#y дает количество элементов в y . Тоесть: (#'');(#'a');(#'octothorpe') +-+-+--+ |0|1|10| +-+-+--+ (#3);(#,3);(# 3 4) +-+-+-+ |1|1|2| +-+-+-+ (#i.4 5 6);(#$i.4 5 6) +-+-+ |4|3| +-+-+ |
Если аргументы имеют одинаковое число элементов, то x#y
копирует +/x элементов из y, при этом
элемент i{y
повторется i{x раз.
Иначе, если один из аргументов атом, перед копированием
он повторяется
столько раз, сколько элементов в другом аргументе. Комплексный левый аргумент a j. b копирует a элементов, после которых идет b заполнителей. Заполнитель можно настроить при помощи #!.f . |
0 1 2 3 4 5 # 0 1 2 3 4 5 1 2 2 3 3 3 4 4 4 4 5 5 5 5 5 t=: 3 4 $'abcdefghijkl' [ n=: i. 3 4 t ; n ; (3 0 1 # t) ; (3 0 1 # n) ; (3 1 4 2 #"1 t) +----+---------+----+---------+----------+ |abcd|0 1 2 3|abcd|0 1 2 3|aaabccccdd| |efgh|4 5 6 7|abcd|0 1 2 3|eeefgggghh| |ijkl|8 9 10 11|abcd|0 1 2 3|iiijkkkkll| | | |ijkl|8 9 10 11| | +----+---------+----+---------+----------+ k=: 2j1 0 1j2 (k # t);(k # n);(k #!.'*' t);(k #!.4 n) +----+---------+----+---------+ |abcd|0 1 2 3|abcd|0 1 2 3| |abcd|0 1 2 3|abcd|0 1 2 3| | |0 0 0 0|****|4 4 4 4| |ijkl|8 9 10 11|ijkl|8 9 10 11| | |0 0 0 0|****|4 4 4 4| | |0 0 0 0|****|4 4 4 4| +----+---------+----+---------+