Пример 15.18. Использование функции bind и глобальные переменные
(defglobal ?*x* =3.4)
?*x*
(bind ?*х* (+89)}
?*х*
(bind ?*х* (create$ abсd)
?*х*
(bind ?*x* d e f)
?*х*
(bind ?*x*)
? *x*
Рис. 15.17.Использование функции bind и глобальные переменные
Пример 15.19. Использование функции bind в обработчиках сообщений
(defclass A (is-a USER)
(role concrete)
(slot x)
(slot y))
(defmessage- handler A init after ()
(bind ?self : x 3)
(bind ?self : y 4))
(make-instance a of A)
(send [a] print)
Рис. 15.18.Использование функции bind в обработчиках сообщений
Замечание
Для наглядности при демонстрации работы данных примеров были включены режимы просмотра изменений глобальных переменных и слотов объектов.
Функция if реализует стандартный оператор ветвления "если...то...иначе", применяемый практически во всех языках программирования. Эта функция позволяет задавать некоторое условие, в зависимости от выполнения (или невыполнения) которого будут выбраны те или иные действия.
Определение 15.54. Функция if
(if <выражение>
then
<действие>*
[else
<действие>*])
Если условие, заданное с помощью выражения, выполняется (т. е. не является ложным), выполняются действия, определенные в блоке then. В противном случае производятся действия из блока else. В каждом из таких блоков может быть задано любое количество действий. Любой блок может содержать вложенную конструкцию if.. .then.. .else. Блок else является необязательным. Значение, возвращаемое функцией if, равно значению последнего вычисленного выражения или выполненного действия. Ниже приведен пример использования функции if.
Дата добавления: 2021-12-14; просмотров: 316;