Пример 15.5. Использование функций stub-string и str-index
(sub-string 3 8 "abcdefghijkl")
(str-index "def" "abcdefghi")
(str-index "qwerty" "qwertypoiuyt")
(str-index "qwerty" "poiuytqwer")
Функция eval выполняет указанное выражение в строке, как будто это команда, введенная извне в среду CLIPS. Единственный аргумент функции — команда, которая будет выполнена, заданная значением типа string или symbol. Функция eval не позволяет использовать локальные переменные кроме случаев, когда локальная переменная определяется внутри исполняемой строки. К тому же данная функция не допускает выполнение конструкторов CLIPS. Значение, возвращаемое функцией eval, является результатом выполненной команды или равно FALSE в случае ошибки.
Определение 15.25. Функция eval
(eval <строка>)
Для выполнения строкового выражения в качестве конструктора среды CLIPS служит функция build.
Определение 15.26. Функция build
(build <строка>)
Единственный аргумент функции build — значение типа string или symbol. Аргумент представляют собой конструктор, который будет выполнен в среде CLIPS. Функция build возвращает значение true, если выполнение прошло успешно, и значение false, если при выполнении произошли ошибки. Варианты использования функций eval и build приведены в примере 15.6 и на рис. 15.6.
Пример 15.6. Использование функций eval и build
(eval "(+ 3 4)")
(eval "(create$ a b c)")
(build "(defrule foo (a) => (assert (b)|
(rules)
Рис. 15.6.Использование функций eval и build
Функции upcase и lowcase служат для преобразования всех символов заданной строки в верхний и нижний регистр соответственно. Аргумент этих функций должен принадлежать одному из типов: symbol или string. Результат, возвращаемый функциями, соответствует типу получаемого аргумента.
Определение 15.27. Функции upcase и lowcase
(upcase <строка>) (lowcase <строка>)
Варианты использования функций upcase и iowcase приведены в примере 15.7 и на рис. 15.7.
Дата добавления: 2021-12-14; просмотров: 231;