Фрейм

  1. Высказывание
  2. Клауза высказываний

Friend хранит Знания Фреймами.

Фрейм это логически связанное множество всех знаний (Высказываний) о некоторой сущности. Например Фрейм «Кот», это сумма всех Высказываний о любых котах.

Внимание: Имя Фрейма не может состоять из одних заглавных букв, — возникнет ошибка, так как заглавными буквами в языке Фрэнд разрешается именовать только переменные.

С точки зрения современного ООП программирования, Фрейм является некоторым аналогом Класса сущностей, с той разницей, что он сам является Сущностью и с ним можно взаимодействовать.

Методы Фрейма

У каждого Фрейма есть встроенные методы которые можно использовать в программе на языке Фрэнд. Список основных методов Фрейма:

f.name выдает печатное имя фрейма

f.Text выдает полное описание фрейма в том види как это может быть сохранено во внешней памяти.

f.Clause(отношение) выдает список всех высказываний указанного отношения в текущем контексте.

f.clauses выдает список всех клаус фрейма

Пример:

кот имеет уши, хвост;любит колбаса, молоко, сметана; ловит мышь, рыба;живет двор,дом.

кот.clauses

f.Parents выдает список всех прямых предков в текущем контексте.

f.isParent(фрейм) проверяет является ли фрейм прямым предком

f.Is(фрейм) проверяет является ли фрейм предком с учетом текущей установленной глубины наследования (по умолчанию глубина наследования =5. Установить ее иной можно оператором eTask.ScionLevel(X) где Х — положительное число или 0, или слова из списка: «дурак, глупый, нормальный, умный, фантазер» взятые в кавычки).

f.Childs выдает список всех прямых потомков в текущем контексте

f.isChaild(фрейм) проверяет является ли заданный фрейм прямым наследником, с учетом текущего контекста.

f.isScion(фрейм) проверяет является ли заданный фрейм наследником, с учетом текущего контекста и текущей глубины наследования (по умолчанию глубина наследования =5. Установить ее иной можно оператором eTask.ScionLevel(X) где Х — положительное число или 0, или слова из списка: «дурак, глупый, нормальный, умный, фантазер» взятые в кавычки).

f.isHave(высказывание) проверяет наличие высказывания у фрейма в текущем контексте.

f.isCheck(высказывание) проверяет наличие высказывания у фрейма в текущем контексте с учетом наследования.

f.remove(высказывания) удаляет из фрейма высказывания по ссылке на него и в случаи успеха возвращает True.

f.compile(Text) компилирует текстовое описание факта и добавляет высказывания в фрейм в текущем контексте