Примітивні об’єкти даних, Детальна інформація

Примітивні об’єкти даних
Тип документу: Реферат
Сторінок: 5
Предмет: Комп`ютерні науки
Автор: Олексій
Розмір: 0
Скачувань: 716
$ A X Y S

(X . Y)

За допомогою точкового подання можна показати структуру будь-якого об’єкту. Список (x1 x2 x3) є ланцюгом консів, які зв’язані за допомогою CDR- елементів. Його CAR- елементи вказують на елементи списку. CDR- елемент останнього конса вказує на NIL. Вказаний список можна подати у вигляді (x1 . (x2 . (x3 . NIL))). Функція READ читання виразу розпізнає як точкове подання виразу, так і спискове. Функція виведення PRINT виводить об’єкти в списковому поданні.

$ (SETQ a ‘(q . (w . nil)) $ a $ (CONSP ‘(q . w)) $ (CONSP (q w))

(q w) (q w) T T

Функція (CONSP obj) розпізнає конси. Список не є примітивним об’єктом, а є ланцюгом консів. Отже, результатом застосування функції CONSP до списку буде Т.

Функції властивостей

Розглянемо, як можна працювати зі списком властивостей символа. Його можна по необхідності створювати, обробляти та видаляти. Властивості символа є глобальними, тобто доступними з довільної точки програми, поки вони не будуть явно змінені чи видалені. Використання символа в якості змінної чи імені функції не впливає на список властивостей.

Функції властивостей керують властивостями символів. CDR - елемент символа вказує на список властивостей. Разом з функціями флагів вони полегшують процес побудови динамічних баз даних.

1. (PUT символ ключ об’єкт). У список властивостей <символа> кладеться значення об’єкта відповідно до вказівника ключ.

$ (PUT ‘capital ‘usa ‘washington) $ (SETQ capital ‘world)

$ (PUT ‘capital ‘germany ‘bonn) $ (PUT ‘world ‘ocean ‘atlantic)

$ (PUT ‘capital ‘england ‘london)

$ (CDR ‘capital)

((ENGLAND . LONDON) (GERMANY . BONN) (USA . WASHINGTON))

$ (CDR capital)

((ocean . atlantic))

$ (CAR ‘capital) $ capital

world world

2. (GET символ ключ). Повертає значення властивості, яке відповідає символу відповідно до вказівника ключ. Якщо такого вказівника не існує, то повертається NIL. Якщо змінна capital має властивості, які їй були надані у попередньому прикладі, то:

$ (GET ‘capital ‘england) $ (GET 'capital 'germany)

london bonn

3. (REMPROP символ ключ). Видалення зі списка властивостей символа властивості, яка відповідає ключу. Повертається старе значення властивості, якщо воно знайдено, та NIL – інакше. Нехай символ capital має три попередні властивості.

(REMPROP ‘capital ‘germany)

bonn

(REMPROP ‘capital ‘usa)

washington

(CDR ‘capital)

((england . london))

Функції розпізнання

The online video editor trusted by teams to make professional video in minutes