Referencia de símbolos y operadoresSymbol and Operator Reference

Nota

Los vínculos de la referencia de API de este artículo le llevarán a MSDN.The API reference links in this article will take you to MSDN. La referencia de API de docs.microsoft.com no está completa.The docs.microsoft.com API reference is not complete.

En este tema se incluye una tabla de símbolos y operadores que se utilizan en el lenguaje F#.This topic includes a table of symbols and operators that are used in the F# language.

Tabla de símbolos y operadoresTable of Symbols and Operators

En la siguiente tabla se describen los símbolos utilizados en el lenguaje F#, se incluyen vínculos a temas que proporcionan más información y se facilita una breve descripción de algunos de los usos del símbolo.The following table describes symbols used in the F# language, provides links to topics that provide more information, and provides a brief description of some of the uses of the symbol. Los símbolos están ordenados según el orden del juego de caracteres ASCII.Symbols are ordered according to the ASCII character set ordering.

Símbolo u operadorSymbol or operator vínculosLinks DescripciónDescription
! Celdas de referenciaReference Cells

Expresiones de cálculoComputation Expressions
  • Desreferencia una celda de referencia.Dereferences a reference cell.
  • Después de una palabra clave, indica una versión modificada del comportamiento de la misma, controlado por un flujo de trabajo.After a keyword, indicates a modified version of the keyword's behavior as controlled by a workflow.
!= No disponible.Not applicable.
  • No se utiliza en F#.Not used in F#. Utilice <> para las operaciones de desigualdad.Use <> for inequality operations.
" LiteralesLiterals

CadenasStrings
  • Delimita una cadena de texto.Delimits a text string.
""" CadenasStrings Delimita una cadena de texto literal.Delimits a verbatim text string. Se diferencia de @"..." en que puede indicar un carácter de comilla mediante el uso de comillas simples en la cadena.Differs from @"..." in that a you can indicate a quotation mark character by using a single quote in the string.
# Directivas de compiladorCompiler Directives

Tipos flexiblesFlexible Types
  • Prefija una directiva de compilador o preprocesador, como #light.Prefixes a preprocessor or compiler directive, such as #light.
  • Cuando se usa con un tipo, indica un tipo flexible, que hace referencia a un tipo o a cualquiera de sus tipos derivados.When used with a type, indicates a flexible type, which refers to a type or any one of its derived types.
$ No hay más información disponible.No more information available.
  • Se utiliza internamente para determinados nombres de variable y función generados por el compilador.Used internally for certain compiler-generated variable and function names.
% Operadores aritméticosArithmetic Operators

Expresiones de código delimitadasCode Quotations
  • Calcula el resto entero.Computes the integer remainder.
  • Se utiliza para ensamblar expresiones en expresiones de código delimitadas con tipo.Used for splicing expressions into typed code quotations.
%% Expresiones de código delimitadasCode Quotations
  • Se utiliza para ensamblar expresiones en expresiones de código delimitadas sin tipo.Used for splicing expressions into untyped code quotations.
%? Operadores que aceptan valores NULLNullable Operators
  • Calcula el resto entero, cuando el lado derecho es un tipo que acepta valores NULL.Computes the integer remainder, when the right side is a nullable type.
& Expresiones de coincidenciaMatch Expressions
  • Calcula la dirección de un valor mutable para usarlo al interoperar con otros lenguajes.Computes the address of a mutable value, for use when interoperating with other languages.
  • Se utiliza en los patrones AND.Used in AND patterns.
&& Operadores booleanosBoolean Operators
  • Calcula la operación AND booleana.Computes the Boolean AND operation.
&&& Operadores bit a bitBitwise Operators
  • Calcula la operación AND bit a bit.Computes the bitwise AND operation.
' LiteralesLiterals

Generalización automáticaAutomatic Generalization
  • Delimita un literal de carácter único.Delimits a single-character literal.
  • Indica un parámetro de tipo genérico.Indicates a generic type parameter.
``...`` No hay más información disponible.No more information available.
  • Delimita un identificador que de otro modo no sería un identificador válido, como una palabra clave de lenguaje.Delimits an identifier that would otherwise not be a legal identifier, such as a language keyword.
( ) Tipo unitUnit Type
  • Representa el valor único del tipo de unidad.Represents the single value of the unit type.
(...) TuplasTuples

Sobrecarga de operadoresOperator Overloading
  • Indica el orden en que se evalúan las expresiones.Indicates the order in which expressions are evaluated.
  • Delimita una tupla.Delimits a tuple.
  • Se utiliza en las definiciones de operador.Used in operator definitions.
(*...*)
  • Delimita un comentario que podría abarcar varias líneas.Delimits a comment that could span multiple lines.
(|...|) Patrones activosActive Patterns
  • Delimita un modelo activo.Delimits an active pattern. También se denominan delimitadores de modelo activo.Also called banana clips.
* Operadores aritméticosArithmetic Operators

TuplasTuples

Unidades de medidaUnits of Measure
  • Cuando se utiliza como un operador binario, multiplica los lados izquierdo y derecho.When used as a binary operator, multiplies the left and right sides.
  • En los tipos, indica el emparejamiento en una tupla.In types, indicates pairing in a tuple.
  • Se utiliza en unidades de medida de tipos.Used in units of measure types.
*? Operadores que aceptan valores NULLNullable Operators
  • Multiplica los lados izquierdo y derecho, si el lado derecho es un tipo que acepta valores NULL.Multiplies the left and right sides, when the right side is a nullable type.
** Operadores aritméticosArithmetic Operators
  • Calcula la operación de exponenciación (x ** y significa x elevado a la potencia de y).Computes the exponentiation operation (x ** y means x to the power of y).
+ Operadores aritméticosArithmetic Operators
  • Si se utiliza como un operador binario, suma los lados izquierdo y derecho.When used as a binary operator, adds the left and right sides.
  • Cuando se utiliza como un operador unario, indica una cantidad positiva.When used as a unary operator, indicates a positive quantity. (Formalmente, genera el mismo valor sin modificar el signo).(Formally, it produces the same value with the sign unchanged.)
+? Operadores que aceptan valores NULLNullable Operators
  • Suma los lados izquierdo y derecho, si el lado derecho es un tipo que acepta valores NULL.Adds the left and right sides, when the right side is a nullable type.
, TuplasTuples
  • Separa los elementos de una tupla o los parámetros de tipo.Separates the elements of a tuple, or type parameters.
- Operadores aritméticosArithmetic Operators
  • Si se utiliza como un operador binario, resta el lado derecho del lado izquierdo.When used as a binary operator, subtracts the right side from the left side.
  • Si se utiliza como un operador unario, realiza una operación de negación.When used as a unary operator, performs a negation operation.
-? Operadores que aceptan valores NULLNullable Operators
  • Resta el lado derecho del lado izquierdo, si el lado derecho es un tipo que acepta valores NULL.Subtracts the right side from the left side, when the right side is a nullable type.
-> FuncionesFunctions

Expresiones de coincidenciaMatch Expressions
  • En tipos de función, delimita los argumentos y valores devueltos.In function types, delimits arguments and return values.
  • Genera una expresión (en expresiones de secuencia); equivalente a la palabra clave yield.Yields an expression (in sequence expressions); equivalent to the yield keyword.
  • Utilizado en expresiones de coincidencia.Used in match expressions
. MiembrosMembers

Tipos primitivosPrimitive Types
  • Tiene acceso a un miembro y separa los nombres individuales de un nombre completo.Accesses a member, and separates individual names in a fully qualified name.
  • Especifica un separador decimal en números de punto flotante.Specifies a decimal point in floating point numbers.
.. Bucles: expresión for...inLoops: for...in Expression
  • Especifica un intervalo.Specifies a range.
.. .. Bucles: expresión for...inLoops: for...in Expression
  • Especifica un intervalo y un incremento.Specifies a range together with an increment.
.[...] MatricesArrays
  • Tiene acceso a un elemento de matriz.Accesses an array element.
/ Operadores aritméticosArithmetic Operators

Unidades de medidaUnits of Measure
  • Divide el lado izquierdo (numerador) entre el lado derecho (denominador).Divides the left side (numerator) by the right side (denominator).
  • Se utiliza en unidades de medida de tipos.Used in units of measure types.
/? Operadores que aceptan valores NULLNullable Operators
  • Divide el lado izquierdo entre el lado derecho, si el lado derecho es un tipo que acepta valores NULL.Divides the left side by the right side, when the right side is a nullable type.
//
  • Indica el principio de una sola línea de comentario.Indicates the beginning of a single-line comment.
/// Documentación de XMLXML Documentation
  • Indica un comentario XML.Indicates an XML comment.
: FuncionesFunctions
  • En una anotación de tipo, separa un parámetro o nombre de miembro de su tipo.In a type annotation, separates a parameter or member name from its type.
:: ListasLists

Expresiones de coincidenciaMatch Expressions
  • Crea una lista.Creates a list. El elemento del lado izquierdo antecede a la lista en el lado derecho.The element on the left side is prepended to the list on the right side.
  • Se utiliza en la coincidencia de patrones para separar las partes de una lista.Used in pattern matching to separate the parts of a list.
:= Celdas de referenciaReference Cells
  • Asigna un valor a una celda de referencia.Assigns a value to a reference cell.
:> ConversionesCasting and Conversions
  • Convierte un tipo en otro que está más arriba en la jerarquía.Converts a type to type that is higher in the hierarchy.
:? Expresiones de coincidenciaMatch Expressions
  • Devuelve true si el valor coincide con el tipo especificado (incluido si es un subtipo); de lo contrario, devuelve false (operador de prueba de tipo).Returns true if the value matches the specified type (including if it is a subtype); otherwise, returns false (type test operator).
:?> ConversionesCasting and Conversions
  • Convierte un tipo en otro que está por debajo en la jerarquía.Converts a type to a type that is lower in the hierarchy.
; Sintaxis detalladaVerbose Syntax

ListasLists

RegistrosRecords
  • Separa expresiones (se usa principalmente en sintaxis detallada).Separates expressions (used mostly in verbose syntax).
  • Separa elementos de una lista.Separates elements of a list.
  • Separa los campos de un registro.Separates fields of a record.
< Operadores aritméticosArithmetic Operators
  • Calcula la operación “menor que”.Computes the less-than operation.
<? Operadores que aceptan valores NULLNullable Operators Calcula la operación “menor que”, si el lado derecho es un tipo que acepta valores NULL.Computes the less than operation, when the right side is a nullable type.
<< FuncionesFunctions
  • Compone dos funciones en orden inverso; la segunda se ejecuta primero (operador de composición hacia atrás).Composes two functions in reverse order; the second one is executed first (backward composition operator).
<<< Operadores bit a bitBitwise Operators
  • Desplaza hacia la izquierda los bits de la cantidad del lado izquierdo, y lo hace en el número de bits especificado en el lado derecho.Shifts bits in the quantity on the left side to the left by the number of bits specified on the right side.
<- ValoresValues
  • Asigna un valor a una variable.Assigns a value to a variable.
<...> Generalización automáticaAutomatic Generalization
  • Delimita los parámetros de tipo.Delimits type parameters.
<> Operadores aritméticosArithmetic Operators
  • Devuelve true si el lado izquierdo no es igual que el lado derecho; de lo contrario, devuelve false.Returns true if the left side is not equal to the right side; otherwise, returns false.
<>? Operadores que aceptan valores NULLNullable Operators
  • Calcula la operación “no es igual a” cuando el lado derecho es un tipo que acepta valores NULL.Computes the "not equal" operation when the right side is a nullable type.
<= Operadores aritméticosArithmetic Operators
  • Devuelve true si el lado izquierdo es menor o igual que el lado derecho; de lo contrario, devuelve false.Returns true if the left side is less than or equal to the right side; otherwise, returns false.
<=? Operadores que aceptan valores NULLNullable Operators
  • Calcula la operación “menor o igual que” cuando el lado derecho es un tipo que acepta valores NULL.Computes the "less than or equal to" operation when the right side is a nullable type.
<| FuncionesFunctions
  • Pasa el resultado de la expresión de la derecha a la función de la izquierda (operador de canalización hacia atrás).Passes the result of the expression on the right side to the function on left side (backward pipe operator).
<|| Operadores.( <|| )<'T1,'T2,'U> FunciónOperators.( <|| )<'T1,'T2,'U> Function
  • Pasa la tupla de dos argumentos del lado derecho a la función del lado izquierdo.Passes the tuple of two arguments on the right side to the function on left side.
<||| Operadores.( <||| )<'T1,'T2,'T3,'U> FunciónOperators.( <||| )<'T1,'T2,'T3,'U> Function
  • Pasa la tupla de tres argumentos del lado derecho a la función del lado izquierdo.Passes the tuple of three arguments on the right side to the function on left side.
<@...@> Expresiones de código delimitadasCode Quotations
  • Delimita una expresión de código con tipos.Delimits a typed code quotation.
<@@...@@> Expresiones de código delimitadasCode Quotations
  • Delimita una expresión de código sin tipos.Delimits an untyped code quotation.
= Operadores aritméticosArithmetic Operators
  • Devuelve true si el lado izquierdo es igual que el lado derecho; de lo contrario, devuelve false.Returns true if the left side is equal to the right side; otherwise, returns false.
=? Operadores que aceptan valores NULLNullable Operators
  • Calcula la operación “es igual a” cuando el lado derecho es un tipo que acepta valores NULL.Computes the "equal" operation when the right side is a nullable type.
== No disponible.Not applicable.
  • No se utiliza en F#.Not used in F#. Utilice = para operaciones de igualdad.Use = for equality operations.
> Operadores aritméticosArithmetic Operators
  • Devuelve true si el lado izquierdo es mayor que el lado derecho; de lo contrario, devuelve false.Returns true if the left side is greater than the right side; otherwise, returns false.
>? Operadores que aceptan valores NULLNullable Operators
  • Calcula la operación "mayor que" cuando el lado derecho es un tipo que acepta valores NULL.Computes the "greater than" operation when the right side is a nullable type.
>> FuncionesFunctions
  • Compone dos funciones (operador de composición hacia delante).Composes two functions (forward composition operator).
>>> Operadores bit a bitBitwise Operators
  • Desplaza hacia la derecha los bits de la cantidad del lado izquierdo, y lo hace en el número de posiciones especificado en el lado derecho.Shifts bits in the quantity on the left side to the right by the number of places specified on the right side.
>= Operadores aritméticosArithmetic Operators
  • Devuelve true si el lado izquierdo es mayor o igual que el lado derecho; de lo contrario, devuelve false.Returns true if the left side is greater than or equal to the right side; otherwise, returns false.
>=? Operadores que aceptan valores NULLNullable Operators
  • Calcula la operación “mayor o igual que” cuando el lado derecho es un tipo que acepta valores NULL.Computes the "greater than or equal" operation when the right side is a nullable type.
? Parámetros y argumentosParameters and Arguments
  • Especifica un argumento opcional.Specifies an optional argument.
  • Se usa como operador para método dinámico y llamadas de propiedad.Used as an operator for dynamic method and property calls. Debe proporcionar su propia implementación.You must provide your own implementation.
? ... <- ... No hay más información disponible.No more information available.
  • Se usa como operador para establecer propiedades dinámicas.Used as an operator for setting dynamic properties. Debe proporcionar su propia implementación.You must provide your own implementation.
?>=, ?>, ?<=, ?<, ?=, ?<>, ?+, ?-, ?*, ?/?>=, ?>, ?<=, ?<, ?=, ?<>, ?+, ?-, ?*, ?/ Operadores que aceptan valores NULLNullable Operators
  • Equivalente a los operadores correspondientes sin el sufijo ?;Equivalent to the corresponding operators without the ? en la izquierda hay un tipo que acepta valores NULL.prefix, where a nullable type is on the left.
>=?, >?, <=?, <?, =?, <>?, +?, -?, *?, /?>=?, >?, <=?, <?, =?, <>?, +?, -?, *?, /? Operadores que aceptan valores NULLNullable Operators
  • Equivalente a los operadores correspondientes sin el sufijo ?;Equivalent to the corresponding operators without the ? en la derecha hay un tipo que acepta valores NULL.suffix, where a nullable type is on the right.
?>=?, ?>?, ?<=?, ?<?, ?=?, ?<>?, ?+?, ?-?, ?*?, ?/??>=?, ?>?, ?<=?, ?<?, ?=?, ?<>?, ?+?, ?-?, ?*?, ?/? Operadores que aceptan valores NULLNullable Operators
  • Equivalente a los operadores correspondientes sin los signos de interrogación circundantes, donde ambos lados son tipos que aceptan valores NULL.Equivalent to the corresponding operators without the surrounding question marks, where both sides are nullable types.
@ ListasLists

CadenasStrings
  • Concatena dos listas.Concatenates two lists.
  • Cuando se coloca delante de un literal de cadena, indica que la cadena debe interpretarse literalmente, sin interpretación alguna de los caracteres de escape.When placed before a string literal, indicates that the string is to be interpreted verbatim, with no interpretation of escape characters.
[...] ListasLists
  • Delimita los elementos de una lista.Delimits the elements of a list.
[|...|] MatricesArrays
  • Delimita los elementos de una matriz.Delimits the elements of an array.
[<...>] AtributosAttributes
  • Delimita un atributo.Delimits an attribute.
\ CadenasStrings
  • Produce el escape del carácter siguiente; se utiliza en los literales de carácter y de cadena.Escapes the next character; used in character and string literals.
^ Parámetros de tipo resueltos estáticamenteStatically Resolved Type Parameters

CadenasStrings
  • Especifica los parámetros de tipo que deben resolverse en tiempo de compilación, no en runtime.Specifies type parameters that must be resolved at compile time, not at runtime.
  • Concatena cadenas.Concatenates strings.
^^^ Operadores bit a bitBitwise Operators
  • Calcula la operación OR exclusiva bit a bit.Computes the bitwise exclusive OR operation.
_ Expresiones de coincidenciaMatch Expressions

GenéricosGenerics
  • Indica un patrón de carácter comodín.Indicates a wildcard pattern.
  • Especifica un parámetro genérico anónimo.Specifies an anonymous generic parameter.
` Generalización automáticaAutomatic Generalization
  • Se utiliza internamente para indicar un parámetro de tipo genérico.Used internally to indicate a generic type parameter.
{...} SecuenciasSequences

RegistrosRecords
  • Delimita expresiones de secuencia y expresiones de cálculo.Delimits sequence expressions and computation expressions.
  • Se utiliza en definiciones de registro.Used in record definitions.
| Expresiones de coincidenciaMatch Expressions
  • Delimita casos de coincidencia individuales, casos de unión discriminada individuales y valores de la enumeración.Delimits individual match cases, individual discriminated union cases, and enumeration values.
|| Operadores booleanosBoolean Operators
  • Calcula la operación OR booleana.Computes the Boolean OR operation.
||| Operadores bit a bitBitwise Operators
  • Calcula la operación OR bit a bit.Computes the bitwise OR operation.
|> FuncionesFunctions
  • Pasa el resultado del lado izquierdo a la función del lado derecho (operador de canalización hacia delante).Passes the result of the left side to the function on the right side (forward pipe operator).
||> Operadores.( ||> )<'T1,'T2,'U> FunciónOperators.( ||> )<'T1,'T2,'U> Function
  • Pasa la tupla de dos argumentos del lado izquierdo a la función del lado derecho.Passes the tuple of two arguments on the left side to the function on the right side.
|||> Operadores.( |||> )<'T1,'T2,'T3,'U> FunciónOperators.( |||> )<'T1,'T2,'T3,'U> Function
  • Pasa la tupla de tres argumentos del lado izquierdo a la función del lado derecho.Passes the tuple of three arguments on the left side to the function on the right side.
~~ Sobrecarga de operadoresOperator Overloading
  • Se utiliza para declarar una sobrecarga para el operador unario de negación.Used to declare an overload for the unary negation operator.
~~~ Operadores bit a bitBitwise Operators
  • Calcula la operación NOT bit a bit.Computes the bitwise NOT operation.
~- Sobrecarga de operadoresOperator Overloading
  • Se utiliza para declarar una sobrecarga para el operador unario menos.Used to declare an overload for the unary minus operator.
~+ Sobrecarga de operadoresOperator Overloading
  • Se utiliza para declarar una sobrecarga para el operador unario más.Used to declare an overload for the unary plus operator.

Precedencia de operadoresOperator Precedence

En la siguiente tabla se muestra, de menor a mayor, el orden de precedencia de operadores y otras palabras clave de expresiones del lenguaje F#.The following table shows the order of precedence of operators and other expression keywords in the F# language, in order from lowest precedence to the highest precedence. También se indica la asociatividad, si corresponde.Also listed is the associativity, if applicable.

"??"Operator AsociatividadAssociativity
as DerechoRight
when DerechoRight
| (canalización)| (pipe) IzquierdoLeft
; DerechoRight
let No asociativoNonassociative
function, fun, match, tryfunction, fun, match, try No asociativoNonassociative
if No asociativoNonassociative
not DerechoRight
-> DerechoRight
:= DerechoRight
, No asociativoNonassociative
or, ||or, || IzquierdoLeft
&, &&&, && IzquierdoLeft
:>, :?>:>, :?> DerechoRight
<OP, >OP, =, |op, &OP, &<op, >op, =, |op, &op, &

(incluyendo <<<, >>>, |||, &&&)(including <<<, >>>, |||, &&&)
IzquierdoLeft
^op^op

(incluyendo ^^^)(including ^^^)
DerechoRight
:: DerechoRight
:? No asociativoNot associative
-op, +op-op, +op Se aplica a los usos de infijo de estos símbolosApplies to infix uses of these symbols
*op, /op, %op*op, /op, %op IzquierdoLeft
**op**op DerechoRight
f x (aplicación de función)f x (function application) IzquierdoLeft
| (coincidencia de patrones)| (pattern match) DerechoRight
operadores de prefijo (+op, -op, %, %%, &, &&, !op, ~op)prefix operators (+op, -op, %, %%, &, &&, !op, ~op) IzquierdoLeft
. IzquierdoLeft
f(x) IzquierdoLeft
f<tipos>f<types> IzquierdoLeft

F# es compatible con la sobrecarga de operadores personalizados.F# supports custom operator overloading. Esto significa que puede definir sus propios operadores.This means that you can define your own operators. En la tabla anterior, op puede ser cualquier secuencia válida (posiblemente vacía) de caracteres de operador, ya sean integrados o definidos por el usuario.In the previous table, op can be any valid (possibly empty) sequence of operator characters, either built-in or user-defined. Por lo tanto, puede utilizar esta tabla para determinar qué secuencia de caracteres se utilizará para que un operador personalizado logre alcanzar el nivel deseado de precedencia.Thus, you can use this table to determine what sequence of characters to use for a custom operator to achieve the desired level of precedence. Los caracteres . iniciales se omiten cuando el compilador determina la precedencia.Leading . characters are ignored when the compiler determines precedence.

Vea tambiénSee also