Новое в версии 6.0
Прикладная функциональность
API для работы с XML
Добавлен API для работы с объектами формата XML во встроенном языке:
- поиск/замена элемента в файле XML с помощью языка запросов XPath,
- проверка/валидация документа XML на соответствие схеме XSD,
- преобразование/форматирование документа XML с помощью таблиц стилей XSLT.
Сериализация JSON
В механизм сериализации формата JSON добавлена поддержка новых типов:
-
Диапазон<ТипГраницы>,ЗакрытыйДиапазон<ТипГраницы>Запись объекта с двумя свойствами: «from» и «to»СериализацияJson.ЗаписатьОбъект(новый Диапазон(1, 2))
// "{"from":1,"to":2}" -
Запись сигнатуры типа строкой
пер МойТип = Тип<Массив<Число>>
СериализацияJson.ЗаписатьОбъект(МойТип)
// "Std::Collections::Array<Std::Number>"
Встроенный язык
Тип «КодировкаBase64»
В метод ДекодироватьВСтроку() типа КодировкаBase64 добавлен параметр Кодировка, который задает кодировку декодируемой строки:
ДекодироватьВСтроку(
СтрокаBase64: Строка,
Кодировка: Кодировка | Строка = Кодировка.Utf8
): Строка
Тип «никогда»
Добавлен новый тип никогда / never, обозначающий тип выражения, которое никогда не будет выполнено. Оно может завершиться исключением или не завершиться вообще (подробнее).
Данный тип является типом выражения выбросить.
метод ВыброситьИсключение(Описание: Строка): никогда
выбросить новый ИсключениеВыполнения(Описание)
;
Тип «Совпадение»
Для типа Совпадение добавлена возможность получать индекс начала подстроки, захваченной некоторой группой, и ее длины. Добавлены следующие методы и перегрузки:
Индекс(НомерГруппы: Число): Число— возвращает индекс первого символа самой правой подстроки, захваченной группой с номеромНомерГруппы,Индекс(ИмяГруппы: Строка): Число— возвращает индекс первого символа самой правой подстроки, захваченной группой с именемИмяГруппы,Длина(НомерГруппы: Число): Число— возвращает длину самой правой подстроки, захваченной группой с номеромНомерГруппы,Длина(ИмяГруппы: Строка): Число— возвращает длину самой правой подстроки, захваченной группой с именемИмяГруппы.
Если группой, указанной в параметре, не захвачена ни одна подстрока, то:
- методы
Индекс()возвращают-1; - методы
Длина()возвращают0.
Тип «Соответствие»
В тип Соответствие добавлены ленивые перегрузки для методов Вставить() и ВставитьЕслиОтсутствует().
Тип «Строка»
Для типа Строка добавлен новый метод Обрезать():
Обрезать(
МаксимальнаяДлина: Число,
Постфикс = ""
): Строка
Метод сокращает строку до числа символов, равного МаксимальнаяДлина - Постфикс.Длина(), и добавляет в конец постфикс. Например:
пер МояСтрока = "Это пример строки"
пер Результат = МояСтрока.Обрезать(13, "...")
// Результат: Это пример...
Тип «Тип»
Для типа Тип добавлено свойство ПараметрыТипа типа ЧитаемыйМассив<ЧитаемоеМножество<Тип>>, которое позволяет использовать механизм отражения для доступа к параметрам обобщенных типов.
Тип «Ууид»
К базовым типам для Ууид добавлен тип Сравнимое. Теперь доступно сравнение Ууид с помощью операций <, >, >=, <= или с помощью метода Сравнить().
Типы «Последовательность» и «Обходимое»
-
Удалена перегрузка метода
ВСоответствие()с одним параметром:ВСоответствие<ТипКлюча>(ИзвлекательКлюча: (ТипЭлемента)->ТипКлюча): Соответствие<ТипКлюча, ТипЭлемента>Вместо нее реализованы новые методы:
ВСоответствиеСКлючами()― преобразуетПоследовательность/ОбходимоевСоответствие, используя заданную функцию для вычисления ключа и элемент последовательности в качестве значения;ВСоответствиеСоЗначениями()― преобразует