Compartir a través de


Expresiones

En el núcleo, las expresiones de Q# son literales de valor o identificadores de , donde los identificadores pueden hacer referencia a variables declaradas localmente o a los invocables declarados globalmente (actualmente no hay constantes globales en Q#). Los operadores, los combinadores y los modificadores se pueden usar para combinar estos identificadores en una variedad más amplia de expresiones.

  • Operadores en un sentido no son más que sintaxis dedicada para determinados invocables.

    Aunque Q# aún no sea lo suficientemente expresivo como para capturar formalmente las funcionalidades de cada operador en forma de declaración invocable de respaldo, esto debe corregirse en el futuro.

  • modificadores solo se pueden aplicar a determinadas expresiones. Uno o varios modificadores se pueden aplicar a expresiones que son

    • Identificadores
    • expresiones de acceso de elementos de matriz
    • expresiones de acceso a elementos con nombre
    • una expresión entre paréntesis que es la misma que una tupla de un solo elemento. Para obtener más información, consulte equivalencia de tupla singleton). Pueden preceder a la expresión (prefijo) o seguir (postfijo) la expresión. Por lo tanto, son operadores unarios especiales que enlazan más estrecha que las llamadas de función o operación, pero menos estrechas que cualquier tipo de acceso a elementos. Concretamente, functors son modificadores de prefijo, mientras que el operador unwrap es un modificador postfijo.
  • Las llamadas de acceso a funciones, operaciones y elementos se pueden ver como un tipo especial de operador, similar a los modificadores. todos están sujetos a las mismas restricciones en lo que respecta a dónde se pueden aplicar; nos referimos a ellos como combinadores.

La sección sobre precedencia y asociatividad contiene una lista completa de todos los operadores así como una lista completa de de todos los modificadores y combinadores.