ТОМ2: типы значений: различия между версиями

Материал из IFВики
Перейти к навигации Перейти к поиску
м (?? (отношение))
м (Relation (Отношение))
Строка 50: Строка 50:
 
===preposition (предлог)===
 
===preposition (предлог)===
 
???
 
???
===Relation (Отношение)===
+
===relation (отношение)===
 
Зарезервировано. В настоящее время значения этого типа не используются.
 
Зарезервировано. В настоящее время значения этого типа не используются.
  

Версия 12:16, 30 апреля 2014

Каждое значение в языке ТОМ2 имеет свой тип.

Значение любого типа имеет набор свойств, к которым возможно обращение через точку:

A.B

- где A - значение, а B - имя его свойства


Узнать тип любого значения можно через свойство ".type":

var A = "test"
%{A.type}


Простые типы

К простым типам данных относятся: bool (булево), number (число), string (строка), spcvalue (спецзначение), course (направление).

bool (булево)

Логический тип данных. Может принимать значение "да" (true) или "нет" (false). Над данными логического типа действуют операции булевой алгебры.

number (число)

Числовым типом может быть представлено любое целое число. Над данными числового типа действуют основные арифметические операции.

string (строка)

Строковым типом может быть представлена любая последовательность символов, в том числе и пустая. В выражениях строка заключается в двойные кавычки - "это строка".

spcvalue (спецзначение)

Платформа имеет фиксированный набор служебных слов используемых в коде игры. Все эти слова имеют тип "спецзначение". В режиме "в игре" спецзначения не доступны.

Объектные типы

К объектным типам данных относятся: object (объект), property (свойство), attribute (признак), relation (отношение), class (класс), location (локация), word (слово), preposition (предлог).

Значения этих типов подразумевают некоторую сущность, обладающую именем, свойствами и поведением.

Каждое значение объектного типа может принадлежать некоторому классу или списку классов. Класс, назначенный значению первым, является основным классом и не может быть отменён в последствии.

Тип и классы объекта в свою очередь частично (или полностью) определяют поведение объекта.

Основное отличие типов от классов заключается в том, что поведение класса объекта программируется разработчиком стандартной библиотеки или игры, в то время как поведение типа жёстко определено разработчиком платформы.

object (объект)=

???

property (свойство)

Зарезервировано. В настоящее время значения этого типа не используются.

class (класс)

???

location (локация)

???

word (слово)

???

preposition (предлог)

???

relation (отношение)

Зарезервировано. В настоящее время значения этого типа не используются.

Attribute (Признак)

???

Object (Объект)

Объект. Объектным типом может быть представлен любой существующий объект. Значения этого типа предоставляют доступ к свойствам и методам объекта.


Списки

and-list (и-список)

???

or-list (или-список)

???