Интерполяция строк
Строковые литералы поддерживают интерполяцию строк. Интерполяция строк — это процесс вычисления значения строкового литерала, включающего одно или несколько выражений интерполяции.
Интерполяцию строк можно рассматривать как удобный и понятный синтаксис для конкатенации строк, совмещенный с возможностями форматирования значений выражений.
Другими словами, интерполяция строк позволяет вставлять значения переменных в строки.
Синтаксис
Поддерживаются следующие варианты синтаксиса выражения интерполяции:
-
%имя-переменной
В этом случае для преобразования значения используется метод
ВСтроку()
:// Краткая форма — %имя-переменной
пер Обращение = "Иван Иванович"
пер Сообщение = "Дорогой %Обращение!"// Полная форма — %{выражение}
пер Длина = 100
пер Ширина = 30
пер Сообщение = "Площадь равна %{Длина * Ширина} м2" -
$имя-переменной
В этом случае для преобразования значения используется метод
Представление()
:// Краткая форма — $имя-перемен ной
пер Обращение = "Иван Иванович"
пер Сообщение = "Дорогой $Обращение!"// Полная форма — ${выражение}
пер Длина = 100
пер Ширина = 30
пер Сообщение = "Площадь равна ${Длина * Ширина} м2"// С форматированием — ${выражение|формат}
пер Сейчас = ДатаВремя.Сейчас()
пер Сообщение = "Текущая дата ${Сейчас|дд ММММ гггг, дддд}"
Для обоих вариантов краткого синтаксиса (%имя-переменной
и $имя-переменной
):
имя-переменной
— это последовательнос ть символов, образующая допустимое имя переменной.- Символ после
имя-переменной
не должен быть буквой, цифрой или знаком подчеркивания. - Указанное
имя-переменной
должно быть доступно в текущей области видимости.
Например, в выражении %Переменная.Поле
имя переменной — это Переменная. Это выражение эквивалентно %{Переменная}.Поле
.
Интерполяция с форматированием
Форматная строка формат в выражении интерполяции допустима, только если результат вычисления выражения имеет тип, одним из предков которого является тип Форматируемое
.
Форматная строка отделяется от выражения символом |
(вертикальная черта). Содержимое форматной строки определяется типом выражения.