Вступ
Мавка0.111.0

Створення структур

Записати створення структури можна так:

структура прізвище імʼя по_батькові дата_народження стать кінець

Якщо до цього запису додати назву структури, то після створення буде відразу визначено субʼєкт цієї структури:

структура Паспорт прізвище імʼя по_батькові дата_народження стать кінець

За необхідності можна вказати типи властивостей, які будуть перевірятись під час створення обʼєкта з цієї структури:

структура Паспорт прізвище текст імʼя текст по_батькові текст дата_народження текст стать текст кінець

Можна також створити структуру без властивостей:

структура Щось кінець

Властивості, так само як параметри в дії, можуть мати початкові значення:

структура Паспорт прізвище текст = "Невідомо" імʼя текст = "Невідомо" по_батькові текст = "Невідомо" дата_народження текст = "Невідомо" стать текст = "Невідомо" кінець

Існує можливість абстракції структур шляхом наслідування:

структура Документ номер дата_видачі кінець структура Паспорт є Документ прізвище імʼя по_батькові дата_народження стать кінець

Також для структури можна визначити дії, які матиме обʼєкт після створення:

дія Паспорт.змінити_імʼя(нове_імʼя) я.імʼя = нове_імʼя кінець

Щоб перевірити чи обʼєкт є певної структури, можна використати слово є:

мій_паспорт = Паспорт(прізвище="Когут", імʼя="David", по_батькові="Богданович", дата_народження="10.02.2001", стать="чоловіча") друк(мій_паспорт є Документ) ;; так друк(мій_паспорт є Паспорт) ;; так

структура Гриб ;; опис гриба кінець структура Голова ;; опис голови кінець структура Шия ;; опис шиї кінець структура Тулуб ;; опис тулуба кінець структура Кінцівки ;; опис кінцівок кінець структура Тварина голова Голова шия Шия тулуб Тулуб кінцівки Кінцівки кінець структура Людина є Тварина імʼя текст свідомість логічне кінець адам = Людина(..., "Давид", ні) ;; єва = Людина(..., "*", так) друк(адам є Людина) ;; так друк(адам є Тварина) ;; так друк(адам є Гриб) ;; ні