Функция bind
Конструктор defglobal объявляет переменную в памяти, а также изменяет её значение, если повторно использовать его для уже существующей переменной.
(bind <переменная> <выражение>)
Аргумент <переменная> содержит имя переменной, значение которой должно быть изменено. Аргумент <выражение> содержит переменную или выражение, чьё значение будет присвоено указанной переменной. В случае, если функция bind была введена без ошибок, она возвратит новое значение изменённой переменной. Рассмотрим пример:
Рисунок 3.6 – переопределение значения переменной
На рисунке 3.6 объявлены две переменные. После чего, в функции bind в качестве аргумента <переменная> используется?*x*, а в качестве аргумента <выражение> используется?*y*. Функция успешно присваивает первому аргументу значение второго и возвращает его в следующей строке. Для проверки мы вводим имя изменённой переменной и среда снова возвращает её новое значение.
Функция reset Функция reset возвращает всем переменным те значения, которые были определены для них в памяти. Таким образом, переменные, значения которых были изменены с помощью bind, получают значения, определённые в конструкторе defglobal при объявлении. Функцию reset, как и все остальные функции CLIPS, необходимо вызывать, заключив в круглые скобки:
Рисунок 3.7 – вызов функции reset
Вывод данных на экран
|