Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Este tema contiene vínculos a información sobre todas las palabras clave del lenguaje F#.
Tabla de palabras clave F#
En la tabla siguiente se muestran todas las palabras clave de F# en orden alfabético, junto con breves descripciones y vínculos a temas relevantes que contienen más información.
| Palabra clave | Vínculo | Descripción |
|---|---|---|
abstract |
Miembros clases abstractas |
Indica un método que no tiene ninguna implementación en el tipo en el que se declara o que es virtual y tiene una implementación predeterminada. |
and |
Enlaces letRegistros Miembros Restricciones |
Se usa en enlaces y registros mutuamente recursivos, en declaraciones de propiedad y con varias restricciones en parámetros genéricos. |
as |
Clases Coincidencia de patrones |
Se usa para asignar al objeto de clase actual un nombre de objeto. También se usa para asignar un nombre a un patrón completo dentro de una coincidencia de patrones. |
assert |
Afirmaciones | Se usa para comprobar el código durante la depuración. |
base |
Clases Herencia |
Se usa como nombre del objeto de clase base. |
begin |
Sintaxis detallada | En la sintaxis detallada, indica el inicio de un bloque de código. |
class |
Clases | En la sintaxis detallada, indica el inicio de una definición de clase. |
default |
Miembros | Indica una implementación de un método abstracto; se usa junto con una declaración de método abstracto para crear un método virtual. |
delegate |
delegados | Se usa para declarar un delegado. |
do |
do Bindings Bucles: for...to expresiónBucles: for...in expresiónBucles: while...do expresión |
Se usa en construcciones de bucle o para ejecutar código imperativo. |
done |
Sintaxis detallada | En la sintaxis detallada, indica el final de un bloque de código en una expresión de bucle. |
downcast |
Conversiones y conversión | Se usa para convertir en un tipo inferior en la cadena de herencia. |
downto |
Bucles: for...to expresión |
En una for expresión, se usa al contar inverso. |
elif |
Expresiones condicionales: if...then...else |
Se usa en la bifurcación condicional. Forma corta de else if. |
else |
Expresiones condicionales: if...then...else |
Se usa en la bifurcación condicional. |
end |
Estructuras Uniones discriminadas Registros Extensiones de tipo Sintaxis detallada |
En las definiciones de tipo y las extensiones de tipo, indica el final de una sección de definiciones de miembro. En la sintaxis detallada, se usa para especificar el final de un bloque de código que comienza con la begin palabra clave . |
exception |
Manejo de Excepciones Tipos de excepción |
Se usa para declarar un tipo de excepción. |
extern |
Funciones externas | Indica que un elemento de programa declarado se define en otro binario o ensamblado. |
false |
Tipos primitivos | Se usa como literal booleano. |
finally |
Excepciones: la try...finally expresión |
Se usa junto con try para introducir un bloque de código que se ejecuta independientemente de si se produce una excepción. |
fixed |
Fija | Se usa para "anclar" un puntero en la pila para evitar que se recolecte de elementos no utilizados. |
for |
Bucles: for...to expresiónBucles: para... en expresión |
Se usa en construcciones de bucle. |
fun |
Expresiones lambda: palabra clave fun |
Se usa en expresiones lambda, también conocidas como funciones anónimas. |
function |
Expresiones de coincidencia Expresiones lambda: la palabra clave fun |
Se usa como alternativa más corta a la fun palabra clave y una match expresión en una expresión lambda que tiene coincidencias de patrones en un único argumento. |
global |
Espacios de nombres | Se usa para hacer referencia al espacio de nombres de .NET de nivel superior. |
if |
Expresiones condicionales: if...then...else |
Se usa en construcciones de bifurcación condicional. |
in |
Bucles: para... en expresión Sintaxis detallada |
Se usa para expresiones de secuencia y, en sintaxis detallada, para separar las expresiones de los enlaces. |
inherit |
Herencia | Se usa para especificar una clase base o una interfaz base. |
inline |
Funciones Funciones insertadas |
Se usa para indicar una función que se debe integrar directamente en el código del autor de la llamada. |
interface |
Interfaces | Se usa para declarar e implementar interfaces. |
internal |
Control de acceso | Se usa para especificar que un miembro está visible dentro de un ensamblado, pero no fuera de él. |
lazy |
Expresiones diferidas | Se usa para especificar una expresión que se va a realizar solo cuando se necesita un resultado. |
let |
Enlaces let |
Se usa para asociar, o enlazar, un nombre a un valor o función. |
let! |
Expresiones asincrónicas Expresiones de tarea Expresiones de cálculo |
Se usa en expresiones asincrónicas para enlazar un nombre al resultado de un cálculo asincrónico o, en otras expresiones de cálculo, que se usan para enlazar un nombre a un resultado, que es del tipo de cálculo. |
match |
Expresiones de coincidencia | Se usa para bifurcar comparando un valor con un patrón. |
match! |
Expresiones de cálculo | Se usa para insertar una llamada a una expresión de cálculo y coincidencia de patrón en su resultado. |
member |
Miembros | Se usa para declarar una propiedad o un método en un tipo de objeto. |
module |
Módulos | Se usa para asociar un nombre a un grupo de tipos, valores y funciones relacionados, para separarlo lógicamente de otro código. |
mutable |
let Bindings | Se usa para declarar una variable, es decir, un valor que se puede cambiar. |
namespace |
Espacios de nombres | Se usa para asociar un nombre a un grupo de tipos y módulos relacionados, para separarlo lógicamente de otro código. |
new |
Constructores Restricciones |
Se usa para declarar, definir o invocar un constructor que crea o que puede crear un objeto. También se usa en restricciones de parámetros genéricos para indicar que un tipo debe tener un constructor determinado. |
not |
Referencia de símbolos y operadores Restricciones |
Realmente no es una palabra clave. Sin embargo, not struct en combinación se usa como restricción de parámetro genérico. |
null |
Valores NULL Restricciones |
Indica la ausencia de un objeto . También se usa en restricciones de parámetros genéricos. |
of |
Uniones discriminadas delegados Tipos de excepción |
Se usa en uniones discriminadas para indicar el tipo de categorías de valores y en declaraciones de delegados y excepciones. |
open |
Declaraciones de importación: palabra open clave |
Se usa para que el contenido de un espacio de nombres o un módulo esté disponible sin cualificación. |
or |
Referencia de símbolos y operadores Restricciones |
Se usa con condiciones booleanas como operador booleano or . Equivalente a ||.También se usa en restricciones de miembro. |
override |
Miembros | Se usa para implementar una versión de un método abstracto o virtual que difiere de la versión base. |
private |
Control de acceso | Restringe el acceso a un miembro al código en el mismo tipo o módulo. |
public |
Control de acceso | Permite el acceso a un miembro desde fuera del tipo. |
rec |
Funciones | Se usa para indicar que una función es recursiva. |
return |
Expresiones de cálculo Expresiones asincrónicas Expresiones de tarea |
Se usa para indicar un valor que se debe proporcionar como resultado de una expresión de cálculo. |
return! |
Expresiones de cálculo Expresiones asincrónicas Expresiones de tarea |
Se usa para indicar una expresión de cálculo que, cuando se evalúa, proporciona el resultado de la expresión de cálculo contenedora. |
select |
Expresiones de consulta | Se usa en expresiones de consulta para especificar qué campos o columnas se van a extraer. Tenga en cuenta que se trata de una palabra clave contextual, lo que significa que no es realmente una palabra reservada y solo actúa como una palabra clave en el contexto adecuado. |
static |
Miembros | Se usa para indicar un método o propiedad al que se puede llamar sin una instancia de un tipo o un miembro de valor que se comparte entre todas las instancias de un tipo. |
struct |
Estructuras Tuplas Restricciones |
Se usa para declarar un tipo de estructura. Se usa para especificar una tupla de estructura. También se usa en restricciones de parámetros genéricos. Se usa para la compatibilidad de OCaml en las definiciones de módulo. |
then |
Expresiones condicionales: if...then...elseConstructores |
Se usa en expresiones condicionales. También se usa para realizar efectos secundarios después de la construcción del objeto. |
to |
Bucles: for...to expresión |
Se usa en for bucles para indicar un intervalo. |
true |
Tipos primitivos | Se usa como literal booleano. |
try |
Excepciones: El intento... with Expression Excepciones: El intento... finally Expression |
Se usa para introducir un bloque de código que podría generar una excepción. Se usa junto con with o finally. |
type |
Tipos en F# Clases Registros Estructuras Enumerations Uniones discriminadas Abreviaturas de tipo Unidades de medida |
Se usa para declarar una clase, registro, estructura, unión discriminada, tipo de enumeración, unidad de medida o abreviatura de tipo. |
upcast |
Conversiones y conversión | Se usa para convertir en un tipo que sea superior en la cadena de herencia. |
use |
Administración de recursos: palabra use clave |
Se usa en lugar de let para los valores a los que se debe Dispose llamar para liberar recursos. |
use! |
Expresiones de cálculo Expresiones asincrónicas Expresiones de tarea |
Se usa en lugar de let! en expresiones asincrónicas y otras expresiones de cálculo para los valores a los que se debe Dispose llamar para liberar recursos. |
val |
Campos explícitos: la val palabra claveSignatures Miembros |
Se usa en una firma para indicar un valor o en un tipo para declarar un miembro, en situaciones limitadas. |
void |
Tipos primitivos | Indica el tipo de .NET void . Se usa al interoperar con otros lenguajes .NET. |
when |
Restricciones | Se usa para condiciones booleanas (cuando protege) en coincidencias de patrones y para introducir una cláusula de restricción para un parámetro de tipo genérico. |
while |
Bucles: while...do expresión |
Presenta una construcción de bucle. |
with |
Expresiones de coincidencia Expresiones de objeto Copiar y actualizar expresiones de registro Extensiones de tipo Excepciones: la try...with expresiónInterfaces Propiedades |
Se usa junto con la match palabra clave en expresiones de coincidencia de patrones. También se usa en expresiones de objeto, grabar expresiones de copia, extensiones de tipo para introducir definiciones de miembro, controladores de excepciones, implementaciones de interfaz y declaraciones de propiedades con captadores y establecedores explícitos. |
yield |
Listas, matrices, secuencias | Se usa en una lista, matriz o expresión de secuencia para generar un valor para una secuencia. Normalmente se puede omitir, ya que está implícito en la mayoría de las situaciones. |
yield! |
Expresiones de cálculo Expresiones asincrónicas Expresiones de tarea |
Se usa en una expresión de cálculo para anexar el resultado de una expresión de cálculo determinada a una colección de resultados para la expresión de cálculo contenedora. |
const |
Proveedores de tipos | Los proveedores de tipos permiten el uso de const como palabra clave para especificar un literal constante como argumento de parámetro de tipo. |
Los tokens siguientes se reservan en F# porque son palabras clave en el lenguaje OCaml:
asrlandlorlsllsrlxormodsig
Si usa la --mlcompatibility opción del compilador, las palabras clave anteriores están disponibles para su uso como identificadores.
Los siguientes tokens se reservan como palabras clave para la expansión futura de F#:
breakcheckedcomponentconstconstraintcontinueeventexternalincludemixinparallelprocessprotectedpuresealedtailcalltraitvirtual
Los tokens siguientes se reservaron una vez como palabras clave, pero se publicaron en F# 4.1, por lo que ahora puede usarlos como identificadores:
| Palabra clave | Motivo |
|---|---|
method |
Use member para introducir métodos. |
constructor |
Use new para introducir constructores. |
atomic |
Relacionado con la moda para la memoria transaccional en torno a 2006. Ahora sería una expresión de cálculo definida por la biblioteca. |
eager |
Ya no es necesario; inicialmente se diseñó para que let eager coincida con un potencial let lazy. |
object |
No es necesario reservar esto. |
recursive |
Utilice rec. |
functor |
Si F# agrega módulos con parámetros, usaría module M(args) = .... |
measure |
El [<Measure>] atributo es suficiente. |
volatile |
El [<Volatile>] atributo es suficiente. |