idx ... +Idx

Когда выбирал и сортировал лексемы по алфавиту, сомневался, что это может быть редукция от “индекса”, а может и от “идентификатора”, то есть вполне можно было бы объединить с индексом, тем более, что в соответствующих контекстах уже акцентировались *ObjIdx и +IdxFold.
+Idx - префиксный класс для поддержания неуникальных полнотекстовых индексов для отношений +String, подкласс +Ref. Принимает необязательные аргументы для минимально индексированной длины подстроки (по умолчанию 3
) и атрибут +Hook. Часто используется в сочетании с индексом +Sn soundex или префиксными классами индекса +Fold.
(rel nm (+Sn +Idx +String)) # Name
idx - поддерживает дерево индексов в var
и проверяет наличие any
. Если any
содержится в var
, возвращается соответствующее поддерево, в противном случае NIL
. В первой форме any
деструктивно вставляется в дерево, если flg
не равен NIL
(и any
там еще не было), или удаляется из дерева, если flg
равен NIL
. Если все элементы вставляются в отсортированном порядке, дерево вырождается в линейный список. В таких случаях для flg
можно передать 0
, чтобы рандомизировать порядок вставки. Вторая форма проверяет только наличие, но не изменяет дерево индексов. В третьей форме (при вызове с одним аргументом var
) содержимое дерева возвращается в виде отсортированного списка.
(idx 'var 'any 'flg) -> lst
(idx 'var 'any) -> lst
(idx 'var) -> lst
Subscribe to my newsletter
Read articles from Sergey Shishkin directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by

Sergey Shishkin
Sergey Shishkin
Всегда чему-то учусь!