ТОМ: язык программирования: различия между версиями

Содержимое удалено Содержимое добавлено
Строка 537:
==Предопределенные свойства==
[[Изображение:TOM_prop.gif]]
===ПоляСпециальные поля значений===
Для любого [[TOM: язык программирования#Типы данных|типа данных]] возможен доступ к дополнительным полям.
 
(Но не для всех типов данных эти поля имеют смысл).
 
====typ / тип====
''(только для чтения)''
 
Строка 549:
Работает для всех типов данных.
 
====str / строка====
''(только для чтения)''
 
Строка 561:
 
 
====num / число====
''(только для чтения)''
 
Строка 571:
 
 
====obj / объект====
''(только для чтения)''
 
Возвращает "чистый" объект без примеси количества и положения.
 
====key / ключ====
''(только для чтения)''
 
 
====pos / поз====
''(только для чтения)''
 
Строка 592:
Для прочих значений .pos возвращает null.
 
===СвойстваСпециальные свойства объектов===
====name / имя====
Возвращает программное имя объекта.
 
''(только для чтения)''
 
====loc / лок====
Возвращает локацию, в которой находится объект.
 
Строка 607:
 
 
====cls / класс====
Синтаксис: O.cls
 
Строка 622:
Где: C - объект категории class.
 
====ctg / категория====
Синтаксис: O.ctg
 
Строка 631:
''(только для чтения)''
 
====lex / лексема====
''(только для чтения)''
 
====pat / шаблон====
Cвойство используется для установки [[TOM: язык программирования#Шаблоны|парсерных шаблонов]] для объектов категорий action, phrase и event.
Количество шаблонов для одного объекта не ограничено.
Строка 647:
}
 
====item / элемент====
Свойство item предоставляет доступ к [[TOM: язык программирования#Элементы объекта|вложенным объектам]].
 
====title / наименование====
 
====menu_name / заголовок_меню====
 
====Сообщения парсера====
Сообщения парсера хранятся в предопределенных глобальных переменных.
ТОМ инициализирует их при старте, затем они могут быть переопределены в любое время. Более того, свойства с этими же именами могут быть прописаны для актера, для действия или фразы, а также для объекта.
Строка 660:
 
Для парсерных сообщений зарезервированы следующие имена:
=====is_not_recognized=====
*Это сообщение парсер выводит когда введенную команду не удалось сопоставить ни с одним шаблоном действий или фраз.
> подумай о сыре
Это предложение непонятно!
 
=====number_is_expected=====
*Это сообщение выводится когда в шаблоне команды указана числовая переменная, а игрок ввел слово. Например, ''первый'' вместо 1, или ''пара'' вместо 2.
> возьми несколько горошин
Необходимо указать число.
 
=====unknown_word=====
*Это сообщение выводится когда в команде использовано слово, не соответствующие ни одному объекту в игре, или написанное с ошибками.
> возьми горохи из мешка
Слово <горохи> мне неизвестно.
 
=====incorrect_form=====
*Это сообщение выводится когда слово в команде стоит в форме, не соответствующей форме, заданной в шаблоне команды.
> возьми горохом из мешка
"горохом" - слово в неверной форме.
 
=====object_not_found=====
*Это сообщение выводится когда найденный парсером объект находится вне текущей локации, при том что в шаблоне команды указано его обязательное присутствие.
> осмотри филина
Филин отсутствует.
 
=====unusable_object=====
* Это сообщение выводится когда найденный парсером объект не обладает свойством, указанном в шаблоне, или не принадлежит к классу, указанному в шаблоне.
> брось крота
Дядюшка-крот не годится для этого действия.
 
=====too_difficult_statement=====
*Это сообщение выводится в случае, если парсинг команды требует перебора вариантов, количество которых превышает разумные пределы.
 
=====object_select=====
*Это сообщение выводится при устранении неопределенности перед списком неоднозначно распознанных объектов:
> взять еду
Строка 700:
сушеные горошины в траве или малина на кустах;
 
=====сan_not_execute=====
*Это сообщение выводится когда введенная команда распознана, но для актера не задан метод для ее выполнения.
> Крот, осмотри мешок
Побойтесь бога! Крот слеп от рождения!
 
=====no_reply=====
*Это сообщение выводится когда введенная строка распознана как фраза, но никто из присутствующих в локации на неё не ответил.
> расскажите мне про лес!