ТОМ2: типы значений: различия между версиями
ASBer (обсуждение | вклад) м (→Объектные типы) |
ASBer (обсуждение | вклад) м (→spcvalue (спецзначение)) |
||
Строка 23: | Строка 23: | ||
Платформа имеет фиксированный набор [[ТОМ2: ключевые слова|служебных слов]] используемых в коде игры. | Платформа имеет фиксированный набор [[ТОМ2: ключевые слова|служебных слов]] используемых в коде игры. | ||
Все эти слова имеют тип "спецзначение". | Все эти слова имеют тип "спецзначение". | ||
− | В режиме "в игре" спецзначения не доступны. | + | В режиме "в игре" спецзначения не доступны. |
− | |||
− | |||
==Объектные типы== | ==Объектные типы== |
Версия 11:05, 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 (предлог)
???
?? (отношение)
???
Attribute (Признак)
???
Object (Объект)
Объект. Объектным типом может быть представлен любой существующий объект. Значения этого типа предоставляют доступ к свойствам и методам объекта.
Списки
and-list (и-список)
???
or-list (или-список)
???