Equivalencia de tupla singleton
Para evitar cualquier ambigüedad entre las tuplas y los paréntesis que agrupan subexpresiones, una tupla con un solo elemento se considera equivalente al elemento que contiene, incluido su tipo. Por ejemplo, los tipos Int
, (Int)
e ((Int))
se tratan como idénticos. Lo mismo ocurre con los valores 5
, (5)
y (((5)))
, o con (5, (6))
y (5, 6)
. Esta equivalencia se aplica a todos los propósitos, incluida la asignación. Dado que no existe el envío dinámico o la reflexión en Q# y que todos los tipos en Q# son resolubles en tiempo de compilación, la equivalencia de tuplas singleton se puede implementar fácilmente durante la compilación.