Соответствие
Стд::Коллекции::Соответствие<ТипКлюча,ТипЗначения>
ТипКлюча: тип ключей соответствия. ТипЗначения: тип значений соответствия.
Коллекция пар ключ и значение, предоставляющее быстрое получение значения по ключу. Не содержит дубликатов ключей. Каждому ключу соответствует только одно значение.
Сравнение
Структурное
- соответствия считаются равными, если их размер совпадает, а так же каждое из соответствий содержит все пары ключ-значение другого.
- типы соответствий при этом не учитываются.
Обход в цикле
Тип: КлючИЗначение<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"}
Операция []
Изменяемый
[Ключ: ТипКлюча]: ТипЗначенияВозвращает или устанавливает значение по указанному ключу.
ИсключениеНедопустимыйАргумент - если соответствие не содержит указанный ключ.
Конструкторы
Соответствие
Соответствие()Перегрузка
Соответствие(Соответствие: ЧитаемоеСоответствие<ТипКлюча, ТипЗначения>)
Примеры
знч Соответствие = новый Соответствие<Строка, Число>()
// равносильный литерал: <Строка, Число>{:}
Соответствие
Соответствие(Соответствие: ЧитаемоеСоответствие<ТипКлюча, ТипЗначения>)Соответствие.
Перегрузка
Соответствие()
Методы
Вставить
Вставить(КлючИЗначение: КлючИЗначение<ТипКлюча, ТипЗначения>): ТипЗначения?КлючИЗначение.
Если пара с указанным значением ключа существует, то его значение заменяется, в противном случае добавляется новый элемент.
Возвращает значение, которое раньше соответствовало ключу или Неопределено, если в соответствии не было такого ключа.
Перегрузка
Вставить(Ключ: ТипКлюча, Значение: ТипЗначения): ТипЗначения?
Вставить(Ключ: ТипКлюча, ВычислительНачальногоЗначения: (ТипКлюча)->ТипЗначения, ВычислительИзменяемогоЗначения: (ТипКлюча, ТипЗначения)->ТипЗначения): ТипЗначения
Вставить
Вставить(
Ключ: ТипКлюча,
Значение: ТипЗначения
): ТипЗначения?Ключ и Значение.
Если пара с указанным значением ключа существует, то его значение заменяется, в противном случае добавляется новый элемент.
Возвращает значение, которое раньше соответствовало ключу или Неопределено, если в соответствии не было такого ключа.
Перегрузка
Вставить(КлючИЗначение: КлючИЗначение<ТипКлюча, ТипЗначения>): ТипЗначения?
Вставить(Ключ: ТипКлюча, ВычислительНачальногоЗначения: (ТипКлюча)->ТипЗначения, ВычислительИзменяемогоЗначения: (ТипКлюча, ТипЗначения)->ТипЗначения): ТипЗначения
Вставить
Вставить(
Ключ: ТипКлюча,
ВычислительНачальногоЗначения: (ТипКлюча)->ТипЗначения,
ВычислительИзменяемогоЗначения: (ТипКлюча, ТипЗначения)->ТипЗначения
): ТипЗначенияКлюч и полученное с помощью функции значение в соответствие.
Возвращает значение, соответствующее ключу после вызова метода.
ВычислительНачальногоЗначения - функция, используемая для вычисления значения, если в соответствии не было такого ключа.
ВычислительИзменяемогоЗначения - функция, используемая для вычисления значения, если в соответствии было значение по ключу Ключ.
На клиенте в методах вычисления нельзя использовать любые асинхронные операции, например вызовы сервера. Это приведет к возникновению ошибки «Попытка выполнить асинхронное действие». Аналогичная ошибка может возникнуть при использовании отладчика для таких методов.
Перегрузка
Вставить(Ключ: ТипКлюча, Значение: ТипЗначения): ТипЗначения?
Вставить(КлючИЗначение: КлючИЗначение<ТипКлюча, ТипЗначения>): ТипЗначения?
ВставитьВсе
ВставитьВсе(Соответствие: ЧитаемоеСоответствие<ТипКлюча, ТипЗначения>)Соответствие.
ВставитьЕслиОтсутствует
ВставитьЕслиОтсутствует(КлючИЗначение: КлючИЗначение<ТипКлюча, ТипЗначения>): ТипЗначенияКлючИЗначение, если в соответствии не было такого ключа.
Возвращает значение, соответствующее ключу после вызова метода.
Перегрузка
ВставитьЕслиОтсутствует(Ключ: ТипКлюча, Значение: ТипЗначения): ТипЗначения
ВставитьЕслиОтсутствует(Ключ: ТипКлюча, ВычислительЗначения: (ТипКлюча)->ТипЗначения): ТипЗначения
ВставитьЕслиОтсутствует
ВставитьЕслиОтсутствует(
Ключ: ТипКлюча,
Значение: ТипЗначения
): ТипЗначенияКлюч и Значение в соответствие, если в соответствии не было такого ключа.
Возвращает значение, соответствующее ключу после вызова метода.
Перегрузка
ВставитьЕслиОтсутствует(КлючИЗначение: КлючИЗначение<ТипКлюча, ТипЗначения>): ТипЗначения
ВставитьЕслиОтсутствует(Ключ: ТипКлюча, ВычислительЗначения: (ТипКлюча)->ТипЗначения): ТипЗначения
ВставитьЕслиОтсутствует
ВставитьЕслиОтсутствует(
Ключ: ТипКлюча,
ВычислительЗначения: (ТипКлюча)->ТипЗначения
): ТипЗначенияКлюч и полученное с помощью ВычислительЗначения значение в соответствие, если в соответствии не было такого ключа.
Возвращает значение, соответствующее ключу после вызова метода.
ВычислительЗначения - функция, используемая для вычисления нового значения. Принимает ключ, для которого будет вычисляться значение.
На клиенте в методах вычисления нельзя использовать любые асинхронные операции, например вызовы сервера. Это приведет к возникновению ошибки «Попытка выполнить асинхронное действие». Аналогичная ошибка может возникнуть при использовании отладчика для таких методов.
Перегрузка
ВставитьЕслиОтсутствует(Ключ: ТипКлюча, Значение: ТипЗначения): ТипЗначения
ВставитьЕслиОтсутствует(КлючИЗначение: КлючИЗначение<ТипКлюча, ТипЗначения>): ТипЗначения