Перейти к основному содержимому

Операция «это» — проверка соответствия типу

Операция это проверяет, что список типов выражения можно присвоить в список типов, перечисленных в правой части операции.

Синтаксис

что-проверяем это [не] контрольный-список
  • что-проверяем — выражение, для которого требуется проверить состав типов результата вычисления;
  • контрольный-список — один или несколько типов (перечисленных через символ |), для которых будет выполняться проверка, что любой из проверяемых типов является потомком хотя бы одного типа из контрольного списка или совпадает с каким-либо типом из этого списка.

В результате проверки возвращается одно из двух значений:

  • Истина — тип выражения соответствует типам из контрольного списка,
  • Ложь — тип выражения не соответствует типам из контрольного списка.

Пример

В примере ниже операция это используется, чтобы проверить, является ли коллекция массивом.

метод ЭтоМассив(Коллекция: Объект): Строка
если Коллекция это не ЧитаемыйМассив<Объект>
возврат "Это не массив"
иначе если Коллекция это ЧитаемыйМассив<Число>
возврат "Это массив чисел"
иначе если Коллекция это ЧитаемыйМассив<Строка>
возврат "Это массив строк"
иначе
возврат "Это массив"
;
;

метод ПроверитьТипКоллекций()
ЭтоМассив(<Число>[1, 2, 3]) // "Это массив чисел"
ЭтоМассив(<Строка>["а", "б", "в"]) // "Это массив строк"
ЭтоМассив(<Число|Булево>[1, Истина]) // "Это массив"
ЭтоМассив(<Число>{1, 2, 3}) // "Это не массив"
;