Новое в версии 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.ПометитьНаУдаление()
Удаления
Стандартная библиотека
Тип ТипПеречисление
удален. Вместо него можно использовать Тип
. Методы ПоИмени()
и Элементы()
типа ТипПеречисление
перенесены в Тип
с условием, что ТипЗначения
— это Перечисление
.