Функции работы с составными величинами
Составные величины или составные поля являются одной из отличительных особенностей среды CLIPS. Для работы с такими величинами предназначена специальная группа функций, краткое описание которых приведено в табл. 15.7.
Таблица 15.7. Функции работы составными величинами
Функция | Описание |
create$ | Создание составной величины |
nth$ | Получение конкретного элемента составной величины |
member$ | Поиск конкретного элемента составной величины |
subsetp | Определение, не является ли одна составная величина подмножеством другой составной величины |
delete$ | Удаление конкретного элемента составной величины |
explode$ | Создание составной величины из строки |
implode$ | Создание строки из составной величины |
subseq$ | Извлечение подпоследовательности из составной величины |
replace$ | Замена элемента составной величины |
insert$ | Добавление новых элементов в составную величину |
first$ | Получение первого элемента составной величины |
rest$ | Получение остатка составной величины |
length$ | Определение числа элементов составной величины |
delete-member$ | Удаление заданных элементов составной величины |
replace-member$ | Замена заданных элементов составной величины |
Функция create$ объединяет заданное количество выражений для создания составной величины. Независимо от количества полей, получившихся в результате, возвращаемое функцией значение всегда является составной величиной. Вызов функции без аргументов возвращает составную величину с нулевой длиной.
Определение 15.32. Функция create$
(create$ <выражение>*)
Для получения конкретного поля составной величины предназначена функция nth$.
Определение 15.33. Функция nth$
(nth$ <целое> <составная-величина>)
Первый аргумент данной функции должен быть целым числом, большим или равным 1, который определяет индекс поля в составной величине, заданной вторым аргументом. Если заданное число больше количества элементов в составной величине, функция вернет значение nil. Значение, возвращаемое функцией, в любом случае является значением типа symbol.
Функция member$ возвращает индекс поля, если оно содержится в составной величине. Если первый аргумент этой функции — простая величина, которая является каким-либо полем второго аргумента, то функция member$ вернет целое число — индекс соответствующего поля. Если первый аргумент — составная величина, и она представляет собой часть второго аргумента, тогда функция возвращает два индекса — начала и конца первой составной величины во второй величине. В противном случае функция возвращает значение false.
Определение 15.34. Функция member$
(memberS <выражение> <составная-величина>)
Функция subsetp проверяет, не является ли одна составная величина подмножеством другой, т. е. содержатся ли все поля первой составной величины и во второй составной величине. Если первая составная величина является подмножеством второй, функция возвращает значение true, в противном случае — false. Порядок полей не оказывает влияния на работу функции. В случае если первый аргумент имеет нулевую длину, функция subsetp всегда возвращает значение true.
Дата добавления: 2021-12-14; просмотров: 262;