Последовательность
Стд::Последовательность<ТипЭлемента>
Объект предоставляет возможность для потоковой обработки данных. Некоторые методы помечены как терминальные. Это значит что такой метод закрывает последовательность и дальнейшие действия с последовательностью приведут к ошибке.
Example
знч Числа = [1, 3, 5, 10].КакПоследовательность()
знч Макс = Числа.Максимум()
// Здесь вызов метода "Минимум" приведет к ошибке
// последовательность "Числа" уже закрыта ранее при вызове терминального метода "Максимум"
знч Мин = Числа.Минимум()
На сервере, в отличие от клиента, никаких реальных действий выполнено не будет, пока не будет вызван терминальный метод.
Example
/* Выполняется на сервере */
знч Числа = [1, 3, 5, 10]
знч ПоследовательностьЧисел = Числа.КакПоследовательность()
// Вызван не терминальный метод "Фильтровать", никаких реальных действий выполнено не будет
ПоследовательностьЧисел = ПоследовательностьЧисел.Фильтровать(А -> А > 4)
Числа.Добавить(-1)
Числа.Добавить(15)
// Вызван терминальный метод "ВМассив", фильтрация элементов будет тут
знч Результат = ПоследовательностьЧисел.ВМассив()
// [5, 10, 15]
Example
/* Выполняется на клиенте */
знч Числа = [1, 3, 5, 10]
знч ПоследовательностьЧисел = Числа.КакПоследовательность()
// Фильтрация будет выполнена здесь
ПоследовательностьЧисел = ПоследовательностьЧисел.Фильтровать(А -> А > 4)
// Добавление новых чисел не повлияет на результат, так как фильтрация уже выполнена
Числа.Добавить(-1)
Числа.Добавить(15)
знч Результат = ПоследовательностьЧисел.ВМассив()
// [5, 10]
- ItemType - Тип элементов в последовательности.
Сравнение ссылочное
Иерархия типа
Базовые типы: Объект
Методы
ВМассив
ВМассив(): Массив<ТипЭлемента>
Примеры
знч Числа: Последовательность<Число> = ...
знч МассивЧисел = Числа.ВМассив() // Массив<Число>
ВСоответствие
ВСоответствие<ТипКлюча, ТипЗначения>(
ИзвлекательКлюча: (ТипЭлемента)->ТипКлюча,
ИзвлекательЗначения: (ТипЭлемента)->ТипЗначения
): Соответствие<ТипКлюча, ТипЗначения>
ТипЗначения: тип значения.
Преобразует Последовательность в Соответствие, используя заданные функции для вычисления ключа и значения. Терминальный метод.
Примеры
знч Сотрудники: Последовательность<Сотрудник> = ...
// [{Ид: 13, Имя: Петя}, {Ид: 5, Имя: Вася}]
знч ИдИмя: Соответствие<Число, Строка> = Сотрудники.ВСоответствие(Элемент -> Элемент.Ид, Элемент -> Элемент.Имя)
// { 13 : "Петя",
// 5 : "Вася"}
ВСоответствиеСКлючами
ВСоответствиеСКлючами<ТипКлюча>(ИзвлекательКлюча: (ТипЭлемента)->ТипКлюча): Соответствие<ТипКлюча, ТипЭлемента>
Преобразует Последовательность в Соответствие, используя заданную функцию для вычисления ключа и элемент последовательности в качестве значения. Терминальный метод.
Примеры
знч Сотрудники: Последовательность<Сотрудник> = ...
// [{Ид: 13, Имя: Петя, Возраст: 24},
// {Ид: 5, Имя: Вася, Возраст: 30}]
знч СотрудникПоИд = Сотрудники.ВСоответствиеСКлючами(Элемент -> Элемент.Ид) // Соответствие<Число, Сотрудник>
// {13 : {Ид: 13, Имя: Петя, Возраст: 24},
// 5 : {Ид: 5, Имя: Вася, Возраст: 30}}
ВСоответствиеСоЗначениями
ВСоответствиеСоЗначениями<ТипЗначения>(ИзвлекательЗначения: (ТипЭлемента)->ТипЗначения): Соответствие<ТипЭлемента, ТипЗначения>
Преобразует Последовательность в Соответствие, используя заданную функцию для вычисления значения и элемент последовательности в качестве ключа. Терминальный метод.
Примеры
знч Идентификаторы: Последовательность<Число> = [13, 5].КакПоследовательность()
знч СотрудникПоИд = Идентификаторы.ВСоответствиеСоЗначениями(Ид -> ПолучитьСотрудникаПоИд(Ид)) // Соответствие<Число, Сотрудник>
// {13 : {Ид: 13, Имя: Петя, Возраст: 24},
// 5 : {Ид: 5, Имя: Вася, Возраст: 30}}
ВоМножество
ВоМножество(): Множество<ТипЭлемента>