Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Функции работы с составными величинами
Составные величины или составные поля являются одной из отличительных особенностей среды CLIPS. Для работы с такими величинами предназначена специальная группа функций, краткое описание которых приведено в табл. 15.7. Таблица 15.7. Функции работы составными величинами
Функция 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.
|