Книга: «1С:Предприятие.Элемент». Возможности встроенного языка
Назад: Строка
Дальше: Многострочные литералы

Интерполяция строк

В языке «1С:Предприятия» интерполяция строк не поддерживалась. Вместо этого использовалась конкатенация строк. Например:

Ответ1 = "Площадь";

Ответ2 = Строка(100*20);

сообщить(Ответ1 + " = " + Ответ2 + " кв.м."); //результат: «Площадь = 2000 кв.м.»

Теперь в языке «Элемента» существует возможность интерполяции строк, которая позволяет встроить в строковые константы значение переменной или выражение. Например:

пер Ответ1 = "Площадь"

пер Ответ2 = 100*20

Сообщить("%Ответ1 = %Ответ2 кв.м") //результат: «Площадь = 2000 кв.м.»

Другими словами – это более понятный и удобный синтаксис для конкатенации строк, совмещенный с возможностями форматирования значений.

При интерполяции выражений вы можете использовать краткий вариант синтаксиса, когда после символа «%» указывается имя переменной (как в предыдущем примере). В этом случае для преобразования значения неявно используется метод ВСтроку(). Или же при интерполяции выражений можно использовать полный вариант, когда после символа «%» в фигурных скобках ({}) указывается более сложное выражение. Например:

Сообщить("Площадь = %{100*20} кв.м.") //результат: «Площадь = 2000 кв.м.»

Кроме того, допускается использование форматной строки в том случае, если результат вычисления выражения имеет тип, одним из предков которого является тип Форматируемое. Форматная строка отделяется от выражения символом «|». Перед выражением ставится символ «$». В этом случае для преобразования значения неявно используется метод Представление(). Например:

Сообщить("Сейчас ${Время.Сейчас()|ЧЧ:мм}") //результат: «Сейчас 17:10»

подробнее

Подробнее про форматирование значений типа Число и ДатаВремя будет рассказано в разделах «» и «».

Чтобы записать такое выражение в языке «1С:Предприятия», нужно было использовать конкатенацию строк и форматирование с помощью функции Формат(). Например:

Сообщить("Сейчас " + Формат(ТекущаяДата(), "ДФ=ЧЧ:мм")); //результат: «Сейчас 17:10»

Назад: Строка
Дальше: Многострочные литералы