Функції властивостей
(DEFUN GET (SYM KEY)
((NULL (ASSOC KEY (CDR SYM))) NIL)
(CDR (ASSOC KEY (CDR SYM))) )
Якщо змінна capital має властивості, які їй були надані у попередньому прикладі, то:
$ (GET ‘capital ‘england)$ (GET 'capital 'germany)
london bonn
3. (REMPROP <символ> <ключ>). Видалення зі списка властивостей <символа> властивості, яка відповідає <ключу>. Повертається старе значення властивості, якщо воно знайдено, та NIL – інакше.
(DEFUN REMPROP (SYM KEY)
((ATOM (CDR SYM)) NIL)
((EQUAL (CAADR SYM) KEY)
(SETQ KEY (CDADR SYM))
(RPLACD SYM (CDDR SYM))
KEY )
(REMPROP (CDR SYM) KEY) )
Нехай символ capital має три попередні властивості.
(REMPROP ‘capital ‘germany)
bonn
(REMPROP ‘capital ‘usa)
washington
(CDR ‘capital)
((england . london))
4.2. Функції розпізнання
Функції розпізнання — це твердження, які використовуються для розпізнання або ідентифікації об’єктів даних muLisp. Ці функції мають тільки один аргумент, а повертають булеве значення. Вони розпізнають об’єкт, який може мати довільну структуру. Ми вже розглянули деякі функції розпізнання: SYMBOLP, INTEGERP, NUMBERP, ATOM, LISTP, NULL. Розглянемо інші.
(ZEROP obj). Повертає Т, якщо obj — число 0.