Новое в версии 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, "...")
// Результат: Это пример...
Тип «Тип»
Для типа Тип добавлено свойство ПараметрыТипа типа ЧитаемыйМассив<ЧитаемоеМножество<Тип>>, которое позволяет использовать механизм отражения для доступа к параметрам обобщенных типов.
Тип «Ууид»
К базовым типам для Ууид добавлен тип Сравнимое. Теперь доступно сравнение Ууид с помощью операций <, >, >=, <= или с помощью метода Сравнить().
Типы «Последовательность» и «Обходимое»
-
Удалена перегрузка метода
ВСоответствие()с одним параметром:ВСоответствие<ТипКлюча>(ИзвлекательКлюча: (ТипЭлемента)->ТипКлюча): Соответствие<ТипКлюча, ТипЭлемента>Вместо нее реализованы новые методы:
ВСоответствиеСКлючами()― преобразуетПоследовательность/ОбходимоевСоответствие, используя заданную функцию для вычисления ключа и элемент последовательности в качестве значения;ВСоответствиеСоЗначениями()― преобразуетПоследовательность/ОбходимоевСоответствие, используя заданную функцию для вычисления значения и элемент последовательности в качестве ключа.
-
Добавлен новый метод
ФильтроватьПоТипу()(дляОбходимое― см. здесь, дляПоследовательность― см. здесь), который фильтрует элементы коллекции по типу и возвращает новую коллекцию из этих элементов. Ранее для этого приходилось использовать цепочку вызовов методовФильтровать()иПреобразовать()с приведением типов.
Цикл «для по»
Для цикла для по добавлена возможность делать обход от большего к меньшему и указывать шаг (подробнее).
Изменения в объектной модели
Переименования
Изображения
ОбрабатываемоеИзображение.ВырезатьКруг()⟶ОбрабатываемоеИзображен ие.ВырезатьПоКругу()
Стандартная библиотека
ИсключениеНеПоддерживается⟶ИсключениеНеподдерживаемаяОперацияPow()⟶Степень()
Электронная почта
СоединениеPop3.ОтметитьНаУдаление()⟶СоединениеPop3.ПометитьНаУдаление()
Удаления
Стандартная библиотека
Тип Т ипПеречисление удален. Вместо него можно использовать Тип. Методы ПоИмени() и Элементы() типа ТипПеречисление перенесены в Тип с условием, что ТипЗначения — это Перечисление.