Compartir a través de


Referencia de símbolos y operadores (F#)

En este tema se incluye una tabla de los símbolos y operadores que se usan en el lenguaje F#.

Tabla de símbolos y operadores

En la tabla siguiente se describen los símbolos usados en el lenguaje F#, se incluyen vínculos a temas que proporcionan más información y se describen brevemente algunos de los usos de los símbolos. Los símbolos se muestran en el orden en que aparecen en el juego de caracteres ASCII.

Símbolo u operador

Vínculos

Descripción

!

Celdas de referencia (F#)

Expresiones de cálculo (F#)

  • Desreferencia una celda de referencia.

  • Después de una palabra clave, indica una versión modificada de su comportamiento, controlado por un flujo de trabajo.

!=

No es aplicable

  • No se usa en F#. Use <> para las operaciones de desigualdad.

"

Literales (F#)

  • Delimita una cadena de texto.

#

Directivas de compilador (F#)

Tipos flexibles (F#)

  • Se usa como prefijo de una directiva de preprocesador o de compilador; por ejemplo, #light.

  • Cuando se usa con un tipo, indica un tipo flexible, que hace referencia a un tipo o cualquiera de sus tipos derivados.

$

No hay más información disponible.

  • Se usa internamente para determinados nombres de variable y de función generados por el compilador.

%

Operadores aritméticos (F#)

Expresiones de código delimitadas (F#)

  • Calcula el resto de la división de enteros.

  • Se utiliza para unir expresiones delimitadas.

&

Expresiones match (F#)

  • Calcula la dirección de un valor mutable, que se usa al interoperar con otros lenguajes.

  • Se usa en los modelos AND.

&&

Operadores booleanos (F#)

  • Calcula la operación AND booleana.

&&&

Operadores bit a bit (F#)

  • Calcula la operación AND bit a bit.

'

Literales (F#)

Generalización automática (F#)

  • Delimita un literal de un único carácter.

  • Indica un parámetro de tipo genérico.

``...``

No hay más información disponible.

  • Delimita un identificador que, de otro modo, no sería un identificador legal, como una palabra clave del lenguaje.

( )

Tipo unit (F#)

  • Representa el valor único del tipo unit.

(...)

Tuplas (F#)

Sobrecarga de operadores (F#)

  • Indica el orden en que se evalúan las expresiones.

  • Delimita una tupla.

  • Se utiliza en las definiciones de operador.

(*...*)

  • Delimita un comentario que podría abarcar varias líneas.

(|...|)

Modelos activos (F#)

  • Delimita un modelo activo. También se denomina delimitador de modelo activo.

*

Operadores aritméticos (F#)

Tuplas (F#)

Unidades de medida (F#)

  • Cuando se usa como operador binario, multiplica el lado izquierdo y el lado derecho.

  • En los tipos, indica el emparejamiento en una tupla.

  • Se usa en los tipos de unidades de medida.

**

Operadores aritméticos (F#)

  • Calcula la operación de exponenciación (x ** y significa x elevado a y).

+

Operadores aritméticos (F#)

  • Cuando se usa como operador binario, suma el lado izquierdo y el lado derecho.

  • Cuando se usa como operador unario, indica una cantidad positiva. (Formalmente, genera el mismo valor sin modificar el signo.)

,

Tuplas (F#)

  • Separa los elementos de una tupla o los parámetros de tipo.

-

Operadores aritméticos (F#)

  • Cuando se usa como operador binario, resta el lado derecho del lado izquierdo.

  • Cuando se usa como operador unario, realiza una operación de negación.

->

Funciones (F#)

Expresiones match (F#)

  • En los tipos de función, delimita los argumentos y valores devueltos.

  • Genera una expresión (en expresiones de secuencia); es equivalente a la palabra clave yield.

  • Se usa en expresiones de coincidencia.

.

Miembros (F#)

Tipos primitivos (F#)

  • Obtiene acceso a un miembro y separa los nombres individuales de un nombre completo.

  • Especifica un separador decimal en números de punto flotante.

..

Bucles: expresión for...in (F#)

  • Especifica un intervalo.

.. ..

Bucles: expresión for...in (F#)

  • Especifica un intervalo y un incremento.

.[...]

Matrices (F#)

  • Obtiene acceso a un elemento de matriz.

/

Operadores aritméticos (F#)

Unidades de medida (F#)

  • Divide el lado izquierdo (numerador) entre el lado derecho (denominador).

  • Se usa en los tipos de unidades de medida.

//

  • Indica el principio de un comentario de una sola línea.

///

Documentación XML (F#)

  • Indica un comentario XML.

:

Funciones (F#)

  • En una anotación de tipo, separa un nombre de parámetro o de miembro de su tipo.

::

Listas (F#)

Expresiones match (F#)

  • Crea una lista. El elemento del lado izquierdo se anexa a la lista del lado derecho.

  • Se usa en la coincidencia de modelos para separar los elementos de una lista.

:=

Celdas de referencia (F#)

  • Asigna un valor a una celda de referencia.

:>

Conversiones (F#)

  • Convierte un tipo en otro de un nivel superior de la jerarquía.

:?

Expresiones match (F#)

  • Devuelve true si el valor coincide con el tipo especificado; de lo contrario, devuelve false (operador de comprobación de tipos).

:?>

Conversiones (F#)

  • Convierte un tipo en otro de un nivel inferior de la jerarquía.

;

Sintaxis detallada (F#)

Listas (F#)

Registros (F#)

  • Separa expresiones (se usa principalmente en sintaxis detallada).

  • Separa los elementos de una lista.

  • Separa los campos de un registro.

<

Operadores aritméticos (F#)

  • Calcula la operación menor que.

<<

Funciones (F#)

  • Realiza la composición de dos funciones en orden inverso; la segunda función se ejecuta en primer lugar (operador de composición hacia atrás).

<<<

Operadores bit a bit (F#)

  • Desplaza los bits de la cantidad del lado izquierdo hacia la izquierda el número de bits especificado en el lado derecho.

<-

Valores (F#)

  • Asigna un valor a una variable.

<...>

Generalización automática (F#)

  • Delimita los parámetros de tipo.

<>

Operadores aritméticos (F#)

  • Devuelve true si el lado izquierdo no es igual que el lado derecho; de lo contrario, devuelve false.

<=

Operadores aritméticos (F#)

  • Devuelve true si el lado izquierdo es menor o igual que el lado derecho; de lo contrario, devuelve false.

<|

Funciones (F#)

  • Pasa el resultado de la expresión del lado derecho a la función del lado izquierdo (operador de canalización hacia atrás).

<@...@>

Expresiones de código delimitadas (F#)

  • Delimita una expresión de código con tipo.

<@@...@@>

Expresiones de código delimitadas (F#)

  • Delimita una expresión de código sin tipo.

=

Operadores aritméticos (F#)

  • Devuelve true si el lado izquierdo es igual que el lado derecho; de lo contrario, devuelve false.

==

No es aplicable

  • No se usa en F#. Use = para las operaciones de igualdad.

>

Operadores aritméticos (F#)

  • Devuelve true si el lado izquierdo es mayor que el lado derecho; de lo contrario, devuelve false.

>>

Funciones (F#)

  • Realiza la composición de dos funciones (operador de composición hacia delante)

>>>

Operadores bit a bit (F#)

  • Desplaza los bits de la cantidad del lado izquierdo hacia la derecha el número de posiciones especificado en el lado derecho.

>=

Operadores aritméticos (F#)

  • Devuelve true si el lado derecho es mayor o igual que el lado izquierdo; de lo contrario, devuelve false.

?

Parámetros y argumentos (F#)

  • Especifica un argumento opcional.

  • Se usa como operador para las llamadas a propiedades y métodos dinámicos. Debe proporcionar su propia implementación.

? ... <- ...

No hay más información disponible.

  • Se usa como operador para establecer propiedades dinámicas. Debe proporcionar su propia implementación.

@

Listas (F#)

Cadenas (F#)

  • Concatena dos listas.

  • Cuando se coloca delante de un literal de cadena, indica que la cadena debe interpretarse literalmente y que no deben interpretarse los caracteres de escape.

[...]

Listas (F#)

  • Delimita los elementos de una lista.

[|...|]

Matrices (F#)

  • Delimita los elementos de una matriz.

[<...>]

Atributos (F#)

  • Delimita un atributo.

\

Cadenas (F#)

  • Carácter de escape que invoca una interpretación alternativa del carácter siguiente; se utiliza en literales de carácter y de cadena.

^

Parámetros de tipo resueltos estáticamente (F#)

Cadenas (F#)

  • Especifica los parámetros de tipo que deben resolverse en tiempo de compilación y no en tiempo de ejecución.

  • Concatena cadenas.

^^^

Operadores bit a bit (F#)

  • Calcula la operación OR exclusiva bit a bit.

_

Expresiones match (F#)

Genéricos (F#)

  • Indica un modelo de caracteres comodín.

  • Especifica un parámetro genérico anónimo.

`

Generalización automática (F#)

  • Se utiliza internamente para indicar un parámetro de tipo genérico.

{...}

Secuencias (F#)

Registros (F#)

  • Delimita expresiones de secuencia y expresiones de computación.

  • Se utiliza en definiciones de registro.

|

Expresiones match (F#)

  • Delimita casos de coincidencia individuales, casos de unión discriminada individuales y valores de enumeración.

||

Operadores booleanos (F#)

  • Calcula la operación OR booleana.

|||

Operadores bit a bit (F#)

  • Calcula la operación OR bit a bit.

|>

Funciones (F#)

  • Pasa el resultado del lado izquierdo a la función del lado derecho (operador de canalización hacia delante).

~~

Sobrecarga de operadores (F#)

  • Se utiliza para declarar una sobrecarga del operador unario de negación.

~~~

Operadores bit a bit (F#)

  • Calcula la operación NOT bit a bit.

~-

Sobrecarga de operadores (F#)

  • Se utiliza para declarar una sobrecarga del operador unario menos.

~+

Sobrecarga de operadores (F#)

  • Se utiliza para declarar una sobrecarga del operador unario más.

Precedencia de operadores

En la tabla siguiente se muestra el orden de prioridad, de menor a mayor, de los operadores y otras palabras clave de expresiones del lenguaje F#. También se muestra la asociatividad si es aplicable.

Operador

Asociatividad

as

Right

when

Right

| (canalización)

Left

;

Right

let

No asociativo

function, fun, match, try

No asociativo

if

No asociativo

->

Right

:=

Right

,

No asociativo

or, ||

Left

&, &&

Left

<op, >op, =, |op, &op

Left

&&&, |||, ^^^, ~~~, <<<, >>>

Left

^op

Right

::

Right

:?>, :?

No asociativo

-op, +op, (binario)

Left

*op, /op, %op

Left

**op

Right

f x (aplicación de función)

Left

| (coincidencia de modelos)

Right

operadores de prefijo (+op, -op, %, %%, &, &&, !op, ~op)

Left

.

Left

f(x)

Left

f<types>

Left

F# admite la sobrecarga de operadores personalizada. Esto significa que el usuario puede definir sus propios operadores. En la tabla anterior, op puede ser cualquier secuencia válida (puede que vacía) de caracteres de operador, ya sea integrada o definida por el usuario. Por consiguiente, se puede usar esta tabla para determinar la secuencia de caracteres que debe utilizarse para que un operador personalizado tenga el nivel de prioridad deseado. Se omiten los caracteres . iniciales cuando el compilador determina la prioridad.

Vea también

Referencia

Sobrecarga de operadores (F#)

Otros recursos

Referencia del lenguaje F#

Historial de cambios

Fecha

Historial

Motivo

Octubre de 2010

Se agregó información sobre los operadores de igualdad y desigualdad.

Mejora de la información.

1 de abril de 2011

Se agregaron operadores bit a bit a la tabla de precedencias.

Comentarios de los clientes.