KG (Knowledge&amp-apos-s Guide-book) - учебная система для проектирования информационных технологий и экспертных систем. Кучуганов В.Н - 29 стр.

UptoLike

29
Пример. Вывести массивы атрибутов и экземпляров корневого кон-
цепта первого дерева.
t = Manager:gettreebyindex(0) -- первое дерево.
if t ~=nil then -- дерево получили?
c = t.root --корень дерева
s = c.fullname .. "\n" -- полное имя концепта
s = s .. "atrscount = " .. tostring(c.attributescount) .. "\n" -- количество
атрибутов
print (s) -- выводим сообщение
atrs = c.attributes -- массив всех атрибутов
s = "atrs:\n" -- будем формировать строку
for i, atr in atrs do -- перебираем массив атрибутов
s = s .. atr.name .."\n" -- добавляем в строку имя атрибута
end
print(s) -- выводим сообщение
inss = c.instances -- массив всех значений
s = "inss:\n" --будем опять формировать строку
for i, ins in inss do --перебираем весь массив
s = s .. ins.name .."\n" -- добавляем в сообщение имя экземпляра
end
print(s) -- выводим сообщение
print("same to: ", c.instancenames) -- пока не работает, видимо
end
Объект Атрибут.
Свойства:
1) prototype- содержит ссылку на прототип атрибута. Прототипом ат-
рибута может являться любой экземпляр концепта, находящегося в
дереве, созданном на основе шаблона «свойства».
2) owner- содержит ссылку на
концепт, которому принадлежит данный
атрибут.
3) valuetype- содержит тип атрибута. Может принимать следующие
значения:
0- без типа;
1- целый;
2- вещественный;
3- логический;
4- строковый;
5- ссылочный (ссылка на любой экземпляр);
6- потоковый (stream);
7- групповой (record);
8- перечисляемый (enum);
9- дата;
10- время;
11- деньги.
Пример. Вывести массивы атрибутов и экземпляров корневого кон-
цепта первого дерева.
t = Manager:gettreebyindex(0) -- первое дерево.
if t ~=nil then -- дерево получили?
   c = t.root --корень дерева
   s = c.fullname .. "\n" -- полное имя концепта
   s = s .. "atrscount = " .. tostring(c.attributescount) .. "\n" -- количество
атрибутов
   print (s) -- выводим сообщение
   atrs = c.attributes -- массив всех атрибутов
   s = "atrs:\n" -- будем формировать строку
   for i, atr in atrs do -- перебираем массив атрибутов
     s = s .. atr.name .."\n" -- добавляем в строку имя атрибута
   end
   print(s) -- выводим сообщение
   inss = c.instances -- массив всех значений
   s = "inss:\n" --будем опять формировать строку
   for i, ins in inss do --перебираем весь массив
     s = s .. ins.name .."\n" -- добавляем в сообщение имя экземпляра
   end
   print(s) -- выводим сообщение
   print("same to: ", c.instancenames) -- пока не работает, видимо
end
Объект Атрибут.
Свойства:
1) prototype- содержит ссылку на прототип атрибута. Прототипом ат-
     рибута может являться любой экземпляр концепта, находящегося в
     дереве, созданном на основе шаблона «свойства».
2) owner- содержит ссылку на концепт, которому принадлежит данный
     атрибут.
3) valuetype- содержит тип атрибута. Может принимать следующие
     значения:
        • 0- без типа;
        • 1- целый;
        • 2- вещественный;
        • 3- логический;
        • 4- строковый;
        • 5- ссылочный (ссылка на любой экземпляр);
        • 6- потоковый (stream);
        • 7- групповой (record);
        • 8- перечисляемый (enum);
        • 9- дата;
        • 10- время;
        • 11- деньги.

                                   29