Equivalenza di tuple singleton
Per evitare ambiguità tra tuple e parentesi che raggruppano le sottoespressione, una tupla con un singolo elemento viene considerata equivalente all'elemento contenuto, incluso il relativo tipo. Ad esempio, i tipi Int
, (Int)
e ((Int))
vengono considerati identici. Lo stesso vale per i valori 5
, (5)
e (((5)))
o per (5, (6))
e (5, 6)
. Questa equivalenza si applica a tutti gli scopi, inclusa l'assegnazione. Dal momento che non esiste alcun processo di reflection o dispatch dinamico in Q# e tutti i tipi in Q# sono risolvibili in fase di compilazione, l'equivalenza della tupla singleton può essere immediatamente implementata durante la compilazione.