Взять Размерность | $ _ 1 _ | Придать Размерность |
$ y дает размерность y , как определено
в Разделе II A. Например,
матрица 2x3 имеет размерность 2 3 , а размерность
скаляра 3 есть пустой список
(размерность которого 0). Ранг y есть #@$ y . Например: rank=: #@$ (rank 3) , (rank ,3) 0 1 (rank 3 4),(rank i. 2 3 4) 1 3 |
Размерность x$y равна x,siy , где siy --
размерность элемента y; x$y выдает ошибку
в длине (length error),
если y пустой и x,siy не содержит нуля.
Например:y=: 3 4$'abcdefghijkl' y ; 2 2$ y +----+----+ |abcd|abcd| |efgh|efgh| |ijkl| | | |ijkl| | |abcd| +----+----+ Этот пример иллюстрирует -- как составляется результат из элементов y; последняя 1-ячейка (abcd) свидетельствует о том, что продолжение является циклическим. Настройка союзом ($!.f) позволяет сменить заполнитель на атом f , или, если f -- пустой вектор, на обычный заполнитель, определенный во Взять ({.). |
2 3 $ ,y abc defНастройка может быть полезной для добавления нулей или пробелов. Например:
8 $!.0 (2 3 4) 2 3 4 0 0 0 0 0 ]z=: 8$!.'*' 'abc' abc***** |. z *****cba 2 5$!.a: ;: 'zero one two three four five six' +----+---+---+-----+----+ |zero|one|two|three|four| +----+---+---+-----+----+ |five|six| | | | +----+---+---+-----+----+