Поделиться через


Одноэлементная эквивалентность кортежа

Чтобы устранить неоднозначность между кортежами и круглыми скобками для группирования подвыражений, кортеж с одним элементом считается эквивалентным этому элементу (с учетом типа). Например, типы Int(Int) и ((Int)) считаются одинаковыми. То же самое верно в отношении значений 5, (5) и (((5))) или (5, (6)) и (5, 6). Данная эквивалентность применяется во всех целях, включая присваивание. Поскольку в Q# нет динамической диспетчеризации или отражения и все типы в Q# разрешаются во время компиляции, эквивалентность одноэлементного кортежа может быть легко реализована во время компиляции.