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

Содержимое удалено Содержимое добавлено
 
(не показано 12 промежуточных версий этого же участника)
Строка 15:
К простым типам данных относятся: bool (булево), number (число), string (строка), spcvalue (спецзначение), course (направление).
===bool (булево)===
bool – булево. Логический тип данных. Может принимать значение "да"true (true'да') или "нет"false (false'нет', 'ошибка'). Над данными логического типа действуют операции булевой алгебры.
 
К любому булеву значению можно прикрепить текстовый комментарий. Это позволяет давать более естественные ответы чем 'да' или 'нет'.
 
Пример:
var A = да, "вы правы"
var B = нет, "я так не думаю"
var C = ошибка, "это невозможно!"
 
===number (число)===
number – число. Числовым типом может быть представлено любое целое число. Над данными числового типа действуют основные арифметические операции.
Над данными числового типа действуют основные арифметические операции.
 
===string (строка)===
string – строка. Строковым типом может быть представлена любая последовательность символов, в том числе и пустая. В выражениях строка заключается в двойные кавычки - "это строка".
В выражениях строка заключается в двойные кавычки.
 
Пример:
"это строка"
"это тоже пример строки типа string"
 
===spcvalue (спецзначение)===
spcvalue – спецзначение.
Платформа имеет фиксированный набор [[ТОМ2: ключевые слова|служебных слов]] используемых в коде игры.
Все эти слова имеют тип "спецзначение".
В режиме "в игре" спецзначения не доступны.
 
===course (направление)===
course – направление.
Всего есть десять направлений: вверх, вниз, и компасные (север, юг, запад, восток, северо-запад, северо-восток, юго-запад, юго-восток).
 
==Объектные типы==
Строка 48 ⟶ 69 :
* Собственные свойства - определённые в конструкторе как переменная:
object A { var Б = В }.
 
Свойства объектов также могут быть вычисляемыми. Синтаксис вычисляемого свойства:
var А = { <код> }
Код свойства выполняется при каждом обращении к свойству объект, возвращенное значение является значением свойства.
 
 
Строка 69 ⟶ 94 :
А.part //возвращает список объектов, являющихся частями объекта А
 
 
===object (объект)====
Ниже приведены описания типов объектов:
???
 
===object (объект)===
object – объект.
Этим типом может быть представлен любой существующий уникальный единичный объект.
 
===property (свойство)===
Зарезервировано. В настоящее время значения этого типа не используются.
 
===attribute (признак)===
attribute - признак. ???
 
===relation (отношение)===
Зарезервировано. В настоящее время значения этого типа не используются.
 
===class (класс)===
class – класс. ???
???
 
===location (локация)===
location – локация. ???
???
 
===word (слово)===
word – слово. ???
???
===preposition (предлог)===
???
===relation (отношение)===
Зарезервировано. В настоящее время значения этого типа не используются.
 
Пример:
===Attribute (Признак)===
word дом
???
{ key = МрНд
===Object (Объект)===
defkey = ИпЕч
Объект. Объектным типом может быть представлен любой существующий объект. Значения этого типа предоставляют доступ к свойствам и методам объекта.
form АпЕч = "домо`й"
form ВпЕч = "до`м"
form ВпМч = "дома`"
form ДпЕч = "до`му"
form ДпМч = "дома`м"
form ИпЕч = "до`м"
form ИпМч = "дома`"
form ПпЕч = "до`ме"
form ПпМуЕч = "дому`"
form ПпМч = "дома`х"
form РпЕч = "до`ма"
form РпМч = "домо`в"
form ТпЕч = "до`мом"
form ТпМч = "дома`ми"
}
 
===preposition (предлог)===
----
preposition – предлог. ???
 
==Списки==
Это списки значений. К спискам относятся: and-list – и-список, or-list – или-список.
Списки можно получить, объединив значения с помощью операторов 'и' и 'или'.
 
Пример:
var А = "роза" и "кинжал" // А – и-список
var Б = 2 или 3 или 6 // Б – или-список
 
Невозможно получить списки boolean значений – для них это булева операция.
 
===and-list (и-список)===
and-list (и-список) – список значений, объединённый союзом 'и'. При выводе отображается в виде строки:
???
значение_1, значение_2, значение_3, ... и значение_N
 
Невозможно получить and-list чисел – для них это эквивалентно сложению.
 
При запросе значения специальных свойств объекта возвращается and-list.
Пример:
X.cls // возвращает и-список с классами объекта X;
X.inside // возвращает и-список объектов, находящихся внутри объекта X;
X.outside // возвращает и-список объектов, находящихся снаружи объекта X.
 
===or-list (или-список)===
or-list (или-список) – список альтернативных значений, объединённый союзом 'или'.
???
 
При выводе or-list отображается в виде строки:
значение_1, значение_2, значение_3, ... или значение_N