x 5!:0 |
Определить. 5!:0 является наречием, которое полностью обращает действие 5!:1.
Тоесть, (5!:1 <'f') 5!:0 равно f
для всех f .
|
|
5!:1 y |
Ато́мное. Ато́мное представление обьекта по
имени y , используется для построения герундиев.
Результат — упаковка,
содержащая либо строку, представляющую обьект, если он является примитивом;
либо двух-элементный упаковочный список из
символа и ато́много представления его
аргументов, если обьект примитивом не является.
Бессимвольные части речи кодируются следующим образом:
0 Существительное
2 Крючок
3 Вилка
4 Союз с прицепом или цепочка наречий
Например:
plus=: +
5!:1 <'plus'
+-+
|+|
+-+
noun=: 3 1 4 1 5 9
5!:1 <'noun'
+---------------+
|+-+-----------+|
||0|3 1 4 1 5 9||
|+-+-----------+|
+---------------+
increment=: 1&+
5!:1 <'increment'
+-------------+
|+-+---------+|
||&|+-----+-+||
|| ||+-+-+|+|||
|| |||0|1|| |||
|| ||+-+-+| |||
|| |+-----+-+||
|+-+---------+|
+-------------+
|
5!:2 y |
Коробочное.
nub=: (i.@# = i.~) # ]
5!:2 <'nub'
+-------------------+-+-+
|+--------+-+------+|#|]|
||+--+-+-+|=|+--+-+|| | |
|||i.|@|#|| ||i.|~||| | |
||+--+-+-+| |+--+-+|| | |
|+--------+-+------+| | |
+-------------------+-+-+
|
5!:4 y |
Древовидное. Текстовая матрица, представляющая именованную часть речи в форме дерева. Таким образом:
5!:4 <'nub'
+- i.
+- @ -+- #
+---+- =
| +- ~ --- i.
--+- #
+- ]
|
5!:5 y |
Линейное. Линейное представление — строка, которая, будучи интерпретированной, воспроизводит именованный обьект. Например:
5!:5 <'nub'
(i.@# = i.~) # ]
5!:5 <'a' [ a=: o. i. 3 4
3.14159265358979324*i.3 4
lr=: 3 : '5!:5 <''y'''
lr 10000$'x'
10000$'x'
|
5!:6 y |
Скобочное. Как и линейное представление, но порядок выполнения указан явно при помощи скобок.
5!:6 <'nub'
((i.@#) = (i.~)) # ]
|
x 5!:7 y |
Явное.
Левый аргумент 1 (для монадного случая) или 2 (для диадного);
правый аргумент — упакованное имя глагола, наречия или союза.
Например:
perm=: 3 : 0
z=. i.1 0
for. i.y do. z=.,/(0,.1+z){"2 1\:"1=i.>:{:$z end.
)
1 (5!:7) <'perm'
+-+----------+-------------------------------+
|0|1 _1 0 |z=.i.1 0 |
+-+----------+-------------------------------+
|1|65536 2 1 |for. |
+-+----------+-------------------------------+
|2|2 _1 1 |i.y |
+-+----------+-------------------------------+
|3|131072 6 1|do. |
+-+----------+-------------------------------+
|4|1 _1 1 |z=.,/(0,.1+z){"2 1\:"1=i.>:{:$z|
+-+----------+-------------------------------+
|5|32 3 1 |end. |
+-+----------+-------------------------------+
Результат 5!:7 представляет из себя упакованную матрицу из 3-х столбцов.
В столбце 0 находятся упакованные целые 0 1 2 ... n-1.
В столбце 1 упакованные 3-х элементные целые векторы управляющей информации:
код ключевого слова,
номер следующей строки, номер строки в исходном определении.
В столбце 2 упакованные ключевые слова и предложения.
Если именованый обьект не определен явно или
для указанной валентности, результат 5!:7 —
пустая матрица размерности 0 3, . |