-
Notifications
You must be signed in to change notification settings - Fork 40
Стандартные шаблоны
Агрегат предоставляет вам набор стандартных шаблонов, которые вы можете использовать в командах и шаблонах своих модулей. Они позволяют вам переиспользовать сложные шаблоны для типовых случаев, не реализуя их на своей стороне.
Кроме того, Агрегат перед тем как передать запрос модулю, находит в пользовательском запросе все те подстроки, которые соответствуют этим стандартным шаблонам, и "обогащает" их дополнительными данными.
Так, например, встретив $Number, Агрегат дополнит его целочисленным значением. Если встретится $Date, то Агрегат добавит к нему день, месяц и год.
Это дает вам возможность в вашем модуле сразу работать с преобразованными языконезависимыми данными, вместо того, чтобы пытаться преобразовать слово "два" к числу 2, а фразу "через неделю" к формату конкретной даты.
Если например в вашем модуле есть шаблон $Text через $Number, то в вашем коде на Java вы можете получить разметку и их данные так:
Markup text = request.markup.get(Pattern.TEXT);
Markup number = request.markup.get(Pattern.NUMBER);
System.out.println("Число " + number.data.get("value"));
// в text не будет дополнительных данных, так как это просто текстОбычный текст. Под него подходит одно или несколько слов, или даже пустая строка.
Соответствует целому числу. Неважно, как оно было распознано - в виде текста или числа.
Агрегат добавит следующие данные к разметке:
- value - целое число, соотвествующее содержимому подстроки
Соответствует абсолютным и относительным датам, включая дни недели, названия месяцев и так далее. Например, соответствует фразам "завтра", "2 октября", "31 декабря 2015 года", "через неделю" и так далее.
- day - день месяца (целое число)
- month - месяц (целое число от 0 до 11, 0 - январь, 11 - декабрь)
- year - год (целое число)
- today - признак того, что дата сегодняшняя (булево значение)
- past - признак того, что дата в прошлом (булево значение)
Соответствует абсолютному и относительному времени. Например "через час", "в 2 40", "в 2 часа дня" и так далее.
- hour - часы (целое число от 0 до 23)
- minute - минуты (целое число от 0 до 59)
- second - секунды (целое число от 0 до 59)
- part - время суток (целое число, 0 - AM, 1 - PM, может отсутствовать)
- Разработка в Eclipse
- Разработка в IntelliJ IDEA
- List of available modules
-
Where to get
-
How to install
-
How to use
-
Setting up
- Java
- Javascript
- Typescript
- Groovy
- Ruby
-
Query grammar
-
Pattern syntax
-
Dynamic patterns
-
Standard patterns
- Developing in Eclipse
- Developing in IntelliJ IDEA