Compartilhar via


Expressões

No núcleo, as expressões Q# são literais de valor ou identificadores, em que os identificadores podem se referir a variáveis declaradas localmente ou a callables declarados globalmente (no momento, não há constantes globais em Q#). Operadores, combinadores e modificadores podem ser usados para combiná-los em uma variedade maior de expressões.

  • Operadores em certo sentido nada mais são do que sintaxe dedicada para callables específicos.

    Embora Q# ainda não seja expressivo o suficiente para capturar formalmente os recursos de cada operador na forma de uma declaração de callable de suporte, isso deve ser remediado 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 de item de matriz, expressões de acesso de item nomeado ou uma expressão entre parênteses, que é igual a uma tupla de item único (consulte esta seção). Eles podem preceder (prefixar) a expressão ou seguir (pós-fixar) a expressão. Eles são, portanto, operadores unários especiais que se associam de forma mais rígida que as chamadas de função ou operação, mas de forma menos rígida do que qualquer tipo de acesso a itens. Concretamente, functors são modificadores de prefixo, enquanto o operador de cancelamento de quebra de linha é um modificador pós-fixado.

  • Assim como os modificadores, as chamadas de funções e operações, bem como o acesso a itens, podem ser vistas como um tipo especial de operador sujeito às mesmas restrições quanto ao local de aplicação; nos referimos a eles como combinadores.

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