Partilhar via


Expressões

No núcleo, Q# expressões são literais de valor ou identificadores , onde os identificadores podem se referir a variáveis declaradas localmente ou a chamadas declaradas globalmente (atualmente não há constantes globais em Q#). Operadores, combinadores e modificadores podem ser usados para combinar esses identificadores em uma variedade maior de expressões.

  • Operadores em certo sentido nada mais são do que sintaxe dedicada para determinados chamáveis.

    Embora Q# ainda não seja suficientemente expressivo para captar formalmente as capacidades de cada operador sob a forma de uma declaração exigível de apoio, isso deve ser corrigido no futuro.

  • Modificadores só podem ser aplicados a determinadas expressões. Um ou mais modificadores podem ser aplicados a expressões que são

    • identificadores
    • expressões de acesso a itens de matriz
    • expressões de acesso ao item nomeado
    • uma expressão entre parênteses que é a mesma que uma tupla de um único item. Para obter mais informações, consulte equivalência de tupla de tonelão único). Eles podem preceder (prefixar) a expressão ou seguir (postfix) a expressão. São, portanto, operadores unários especiais que se ligam mais do que as chamadas de função ou operação, mas menos apertados do que qualquer tipo de acesso a itens. Concretamente, functors são modificadores de prefixo, enquanto o operador unwrap é um modificador postfix.
  • As chamadas de função, operação e acesso ao item podem ser vistas como um tipo especial de operador, semelhante aos modificadores. Todos estão sujeitos às mesmas restrições quanto ao local onde podem ser aplicados; referimo-nos a eles como combinadores.

A seção sobre de precedência e associatividade contém uma lista completa de todos os operadores bem como uma lista completa de de todos os modificadores e combinadores.