Соответствие
Стд::Коллекции::Соответствие<ТипКлюча,ТипЗначения>
ТипКлюча: тип ключей соответствия. ТипЗначения: тип значений соответствия.
Коллекция пар ключ и значение, предоставляющее быстрое получение значения по ключу. Не содержит дубликатов ключей. Каждому ключу соответствует толь ко одно значение.
Сравнение
Структурное
- соответствия считаются равными, если их размер совпадает, а так же каждое из соответствий содержит все пары ключ-значение другого.
- типы соответствий при этом не учитываются.
Обход в цикле
Тип: КлючИЗначение<KeyType, ValueType>
Возвращает пары ключ-значение в порядке добавления.
Иерархия типа
Базовые типы: ИзменяемоеСоответствие<ТипКлюча, ТипЗначения>, Обходимое<КлючИЗначение<ТипКлюча, ТипЗначения>>, Объект, ЧитаемоеСоответствие<ТипКлюча, ТипЗначения>
Примеры
Сравнение
знч ОбычноеСоответствие = новый Соответствие<Строка, Число>({"ключ1": 1, "ключ2": 2})
знч ЧитаемоеСоответствие = новый ЧитаемоеСоответствие<Объект, Объект>({"ключ2": 2, "ключ1": 1})
знч Равны = ОбычноеСоответствие == ЧитаемоеСоответствие // Истина
Литералы
Синтаксис (краткий): { ключ_0 : значение_0, ..., ключ_n : значение_n }, тип ключа и элементов соответствия выводится автоматически (если возможно).
Синтаксис (с указанием типов): <ТипКлюча, ТипЗначения>{ ключ_0 : значение_0, ..., ключ_n : значение_n }.
Синтаксис пустого соответствия: {:}
Примеры
знч ПустоеСоответствие1: Соответствие<Строка, Число> = {:} // сработал вывод типа
знч ПустоеСоответствие2 = <Строка, Число>{:}
знч СоответствиеТипизированное = {"ключ1" : 1, "ключ2" : 2}
знч СоответствиеОбъектов = <Объект, Объект>{"ключ1" : 1, Истина : "значение2"}
Операция []
Изменяемый
[Ключ: ТипКлюча]: ТипЗначенияВозвращает или устанавливает значение по указанному ключу.
ИсключениеНедопустимыйАргумент - если соответствие не содержит указанный ключ.
Конструкторы
Соответствие
Соответствие()Перегрузка
Соответствие(Соответствие: ЧитаемоеСоответствие<ТипКлюча, ТипЗначения>)
Прим еры
знч Соответствие = новый Соответствие<Строка, Число>()
// равносильный литерал: <Строка, Число>{:}
Соответствие
Соответствие(Соответствие: ЧитаемоеСоответствие<ТипКлюча, ТипЗначения>)Соответствие.
Перегрузка
Соответствие()
Методы
Вставить
Вставить(КлючИЗначение: КлючИЗначение<ТипКлюча, ТипЗначения>): ТипЗначения?КлючИЗначение.
Если пара с указанным значением ключа существует, то его значение заменяется, в противном случае добавляется новый элемент.
Возвращает значение, которое раньше соответствовало ключу или Неопределено, если в соответствии не было такого ключа.
Перегрузка
Вставить(Ключ: ТипКлюча, Значение: ТипЗначения): ТипЗначения?
Вставить(Ключ: ТипКлюча, ВычислительНачальногоЗначения: (ТипКлюча)->ТипЗначения, ВычислительИзменяемогоЗначения: (ТипКлюча, ТипЗначения)->ТипЗначения): ТипЗначения
Вставить
Вставить(
Ключ: ТипКлюча,
Значение: ТипЗначения
): ТипЗначения?Ключ и Значение.
Если пара с указанным значением ключа существует, то его значение заменяется, в противном случае добавляется новый элемент.
Возвращает значение, которое раньше соответствовало ключу или Неопределено, если в соответствии не было такого ключа.
Перегрузка
Вставить(КлючИЗначение: КлючИЗначение<ТипКлюча, ТипЗначения>): ТипЗначения?
Вставить(Ключ: ТипКлюча, ВычислительНачальногоЗначения: (ТипКлюча)->ТипЗначения, ВычислительИзменяемогоЗначения: (ТипКлюча, ТипЗначения)->ТипЗначения): ТипЗначения
Вставить
Вставить(
Ключ: ТипКлюча,
ВычислительНачальногоЗначения: (ТипКлюча)->ТипЗначения,
ВычислительИзменяемогоЗначения: (ТипКлюча, ТипЗначения)->ТипЗначения
): ТипЗначенияВнимание! На клиенте в функции вычисления нельзя использовать любые асихронные операции, например, вызовы сервера. Это приведёт к возникновению ошибки "Попытка выполнить асинхронное действие!". Аналогичная ошибка может возникнуть при попытке на клиенте отладить эту функцию в отладчике.
Вставляет пару Ключ и полученное с помощью функции значение в соответствие.
Возвращает значение, соответствующее ключу после вызова метода.
ВычислительНачальногоЗначения - функция, используемая дл я вычисления значения, если в соответствии не было такого ключа.
ВычислительИзменяемогоЗначения - функция, используемая для вычисления значения, если в соответствии было значение по ключу Ключ.
Перегрузка
Вставить(Ключ: ТипКлюча, Значение: ТипЗначения): ТипЗначения?
Вставить(КлючИЗначение: КлючИЗначение<ТипКлюча, ТипЗначения>): ТипЗначения?
ВставитьВсе
ВставитьВсе(Соответствие: ЧитаемоеСоответствие<ТипКлюча, ТипЗначения>)Соответствие.