Контекст
В языке Gentee отсутствуют глобальные переменные. Одним из способов обмена данными является специальный ассоциативный массив строк. Любая функция может безопасно добавлять туда пары ключ-значение или получать значение по ключу. Кроме этого, в контекст встроена возможность подстановки других существующих значений из контекста. Например, если определены пары "a": "String A" и "b": "String B", то "#a# and #b#" возвратит "String A and String B". Ниже описаны функции и операторы для работы с контекстом.
Операторы
Оператор | Результат | Описание |
# ident | str | Тоже самое, что CtxGet(key), где ident является ключом контекста. |
## str | str | Тоже самое, что Ctx(str). Указывается любое выражение, которое возвращает строку. |
ident #= str | str | Тоже самое, что CtxSet(str key, str s), где ident - это ключ контекста. |
ident #= bool | str | Тоже самое, что CtxSet(str key, bool b), где ident - это ключ контекста. |
ident #= float | str | Тоже самое, что CtxSet(str key, float f), где ident - это ключ контекста. |
ident #= int | str | Тоже самое, что CtxSet(str key, int i), где ident - это ключ контекста. |
Функции
Ctx(str input) str
Функция Ctx заменяет в строке input подстроки #keyname# на значение соответствующего ключа, если он существует.
CtxGet(str key) str
Функция CtxGet получает значение ключа key, заменяет в нём все вхождения других ключей и возвращает полученную строку. Если указанный ключ отсутствует, то возвратится пустая строка.
CtxIs(str key) bool
Функция CtxIs возвращает true, если в контексте существует значение с указанным ключом. В противном случае, возвращается false.
CtxSet(str key, str val) str
Функция CtxSet добавляет ключ и значение в контекст. Если ключ уже существует, то ему будет присвоено новое значение. Функция возвращает присвоенное значение ключа.
CtxSet(str key, bool b) str
Функция CtxSet добавляет ключ и логическое значение b в контекст. Логическое значение будет преобразовано к строке true или false. Функция возвращает присвоенное значение ключа.
CtxSet(str key, float f) str
Функция CtxSet добавляет ключ и число с плавающей точкой f в контекст. Число будет преобразовано в строку. Функция возвращает присвоенное значение ключа.
CtxSet(str key, int i) str
Функция CtxSet добавляет ключ и целое число i в контекст. Число будет преобразовано в строку. Функция возвращает присвоенное значение ключа.
CtxValue(str key) str
Функция CtxValue возвращает значение ключа key как есть. В отличие от функции CtxGet, она не заменяет вхождения других ключей. Если указанный ключ отсутствует, то возвратится пустая строка.
Last updated