Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Este tópico contém links para informações sobre todas as palavras-chave da linguagem F#.
Tabela de palavras-chave F#
A tabela a seguir mostra todas as palavras-chave F# em ordem alfabética, juntamente com breves descrições e links para tópicos relevantes que contêm mais informações.
| Palavra-chave | Ligação | Descrição |
|---|---|---|
abstract |
Membros classes abstratas |
Indica um método que não tem nenhuma implementação no tipo no qual ele é declarado ou que é virtual e tem uma implementação padrão. |
and |
let AssociaçõesRegistros Membros Restrições |
Usado em associações e registros mutuamente recursivos, em declarações de propriedade e com várias restrições em parâmetros genéricos. |
as |
Classes Correspondência de padrões |
Usado para dar ao objeto de classe atual um nome de objeto. Também usado para dar um nome a um padrão inteiro dentro de uma correspondência de padrão. |
assert |
Declarações | Usado para verificar o código durante a depuração. |
base |
Classes Herança |
Usado como o nome do objeto de classe base. |
begin |
Sintaxe detalhada | Na sintaxe detalhada, indica o início de um bloco de código. |
class |
Classes | Na sintaxe detalhada, indica o início de uma definição de classe. |
default |
Membros | Indica uma implementação de um método abstrato; usado junto com uma declaração de método abstrato para criar um método virtual. |
delegate |
Representantes | Usado para declarar um delegado. |
do |
fazer associações Loops: for...to ExpressãoLoops: for...in ExpressãoLoops: while...do Expressão |
Usado em constructos de loop ou para executar código imperativo. |
done |
Sintaxe detalhada | Na sintaxe detalhada, indica o fim de um bloco de código em uma expressão de looping. |
downcast |
Conversões e conversões | Usado para converter em um tipo menor na cadeia de herança. |
downto |
Loops: for...to Expressão |
Em uma for expressão, usada ao contar em inverso. |
elif |
Expressões condicionais: if...then...else |
Usado na ramificação condicional. Uma forma curta de else if. |
else |
Expressões condicionais: if...then...else |
Usado na ramificação condicional. |
end |
Estruturas Uniões discriminadas Registros Extensões de tipo Sintaxe detalhada |
Em definições de tipo e extensões de tipo, indica o fim de uma seção de definições de membro. Na sintaxe detalhada, usada para especificar o final de um bloco de código que começa com a begin palavra-chave. |
exception |
Tratamento de Exceções Tipos de exceção |
Usado para declarar um tipo de exceção. |
extern |
Funções externas | Indica que um elemento de programa declarado é definido em outro binário ou assembly. |
false |
Tipos primitivos | Usado como um literal booliano. |
finally |
Exceções: a try...finally expressão |
Usado em conjunto para try introduzir um bloco de código que é executado independentemente de ocorrer uma exceção. |
fixed |
Corrigido | Usado para "fixar" um ponteiro na pilha para impedir que ele seja coletado. |
for |
Loops: for...to ExpressãoLoops: para... na expressão |
Usado em constructos de looping. |
fun |
Expressões lambda: a palavra-chave fun |
Usado em expressões lambda, também conhecidas como funções anônimas. |
function |
Expressões de correspondência Expressões Lambda: A palavra-chave divertida |
Usado como uma alternativa mais curta à fun palavra-chave e uma match expressão em uma expressão lambda que tem correspondência de padrão em um único argumento. |
global |
Namespaces | Usado para fazer referência ao namespace .NET de nível superior. |
if |
Expressões condicionais: if...then...else |
Usado em constructos de ramificação condicional. |
in |
Loops: para... na expressão Sintaxe detalhada |
Usado para expressões de sequência e, em sintaxe detalhada, para separar expressões de associações. |
inherit |
Herança | Usado para especificar uma classe base ou interface base. |
inline |
Funções Funções Embutidas |
Usada para indicar uma função que deve ser integrada diretamente ao código do chamador. |
interface |
Interfaces | Usado para declarar e implementar interfaces. |
internal |
Controle de acesso | Usado para especificar que um membro está visível dentro de um assembly, mas não fora dele. |
lazy |
Expressões lentas | Usado para especificar uma expressão que deve ser executada somente quando um resultado é necessário. |
let |
let Associações |
Usado para associar ou associar um nome a um valor ou função. |
let! |
Expressões assíncronas Expressões de tarefa Expressões de computação |
Usado em expressões assíncronas para associar um nome ao resultado de uma computação assíncrona ou, em outras expressões de computação, usado para associar um nome a um resultado, que é do tipo de computação. |
match |
Expressões de correspondência | Usado para ramificar comparando um valor a um padrão. |
match! |
Expressões de computação | Usado para integrar uma chamada a uma expressão de computação e correspondência de padrão em seu resultado. |
member |
Membros | Usado para declarar uma propriedade ou método em um tipo de objeto. |
module |
Módulos | Usado para associar um nome a um grupo de tipos, valores e funções relacionados, para separá-lo logicamente de outro código. |
mutable |
permitir associações | Usado para declarar uma variável, ou seja, um valor que pode ser alterado. |
namespace |
Namespaces | Usado para associar um nome a um grupo de tipos e módulos relacionados, para separá-lo logicamente de outro código. |
new |
Construtores Restrições |
Usado para declarar, definir ou invocar um construtor que cria ou que pode criar um objeto. Também usado em restrições de parâmetro genérico para indicar que um tipo deve ter um determinado construtor. |
not |
Referência de símbolo e operador Restrições |
Na verdade, não é uma palavra-chave. No entanto, not struct a combinação é usada como uma restrição de parâmetro genérico. |
null |
Valores nulos Restrições |
Indica a ausência de um objeto. Também usado em restrições de parâmetro genérico. |
of |
Uniões discriminadas Representantes Tipos de exceção |
Usado em uniões discriminadas para indicar o tipo de categorias de valores e em declarações delegadas e de exceção. |
open |
Importar declarações: a open palavra-chave |
Usado para disponibilizar o conteúdo de um namespace ou módulo sem qualificação. |
or |
Referência de símbolo e operador Restrições |
Usado com condições boolianas como um operador booliano or . Equivalente a ||.Também usado em restrições de membro. |
override |
Membros | Usado para implementar uma versão de um método abstrato ou virtual que difere da versão base. |
private |
Controle de acesso | Restringe o acesso a um membro ao código no mesmo tipo ou módulo. |
public |
Controle de acesso | Permite o acesso a um membro de fora do tipo. |
rec |
Funções | Usado para indicar que uma função é recursiva. |
return |
Expressões de computação Expressões assíncronas Expressões de tarefa |
Usado para indicar um valor a ser fornecido como resultado de uma expressão de computação. |
return! |
Expressões de computação Expressões assíncronas Expressões de tarefa |
Usada para indicar uma expressão de computação que, quando avaliada, fornece o resultado da expressão de computação que contém. |
select |
Expressões de consulta | Usado em expressões de consulta para especificar quais campos ou colunas extrair. Observe que essa é uma palavra-chave contextual, o que significa que ela não é realmente uma palavra reservada e atua apenas como uma palavra-chave no contexto apropriado. |
static |
Membros | Usado para indicar um método ou propriedade que pode ser chamado sem uma instância de um tipo ou um membro de valor compartilhado entre todas as instâncias de um tipo. |
struct |
Estruturas Tuplas Restrições |
Usado para declarar um tipo de estrutura. Usado para especificar uma tupla de struct. Também usado em restrições de parâmetro genérico. Usado para compatibilidade com OCaml em definições de módulo. |
then |
Expressões condicionais: if...then...elseConstrutores |
Usado em expressões condicionais. Também usado para executar efeitos colaterais após a construção do objeto. |
to |
Loops: for...to Expressão |
Usado em for loops para indicar um intervalo. |
true |
Tipos primitivos | Usado como um literal booliano. |
try |
Exceções: a tentativa... com Expressão Exceções: a tentativa... expressão finally |
Usado para introduzir um bloco de código que pode gerar uma exceção. Usado junto com with ou finally. |
type |
F# Tipos Classes Registros Estruturas Enumerations Uniões discriminadas Abreviações de tipo Unidades de Medida |
Usado para declarar uma classe, registro, estrutura, união discriminada, tipo de enumeração, unidade de medida ou abreviação de tipo. |
upcast |
Conversões e conversões | Usado para converter em um tipo mais alto na cadeia de herança. |
use |
Gerenciamento de recursos: a use palavra-chave |
Usado em vez de let valores que precisam Dispose ser chamados para recursos gratuitos. |
use! |
Expressões de computação Expressões assíncronas Expressões de tarefa |
Usado em vez de let! em expressões assíncronas e outras expressões de computação para valores que exigem Dispose ser chamados para recursos livres. |
val |
Campos explícitos: a val palavra-chaveAssinaturas Membros |
Usado em uma assinatura para indicar um valor ou em um tipo para declarar um membro, em situações limitadas. |
void |
Tipos primitivos | Indica o tipo .NET void . Usado ao interoperar com outras linguagens .NET. |
when |
Restrições | Usado para condições boolianas (quando guardas) em correspondências de padrão e para introduzir uma cláusula de restrição para um parâmetro de tipo genérico. |
while |
Loops: while...do Expressão |
Apresenta uma construção de looping. |
with |
Expressões de correspondência Expressões de objeto Copiar e atualizar expressões de registro Extensões de tipo Exceções: a try...with expressãoInterfaces Propriedades |
Usado junto com a match palavra-chave em expressões de correspondência de padrões. Também usado em expressões de objeto, expressões de cópia de registro, extensões de tipo para introduzir definições de membro, manipuladores de exceção, implementações de interface e declarações de propriedades com getters e setters explícitos. |
yield |
Listas, matrizes, sequências | Usado em uma lista, matriz ou expressão de sequência para produzir um valor para uma sequência. Normalmente pode ser omitido, pois está implícito na maioria das situações. |
yield! |
Expressões de computação Expressões assíncronas Expressões de tarefa |
Usado em uma expressão de computação para acrescentar o resultado de uma determinada expressão de computação a uma coleção de resultados para a expressão de computação que contém. |
const |
Provedores de tipos | Os Provedores de Tipos permitem que o uso de const como palavra-chave especifique um literal constante como um argumento de parâmetro de tipo. |
Os tokens a seguir são reservados em F# porque são palavras-chave na linguagem OCaml:
asrlandlorlsllsrlxormodsig
Se você usar a opção --mlcompatibility do compilador, as palavras-chave acima estarão disponíveis para uso como identificadores.
Os tokens a seguir são reservados como palavras-chave para a expansão futura de F#:
breakcheckedcomponentconstconstraintcontinueeventexternalincludemixinparallelprocessprotectedpuresealedtailcalltraitvirtual
Os tokens a seguir já foram reservados como palavras-chave, mas foram lançados no F# 4.1, portanto, agora você pode usá-los como identificadores:
| Palavra-chave | Motivo |
|---|---|
method |
Use member para introduzir métodos. |
constructor |
Use new para introduzir construtores. |
atomic |
Relacionado à moda da memória transacional por volta de 2006. Agora, essa seria uma expressão de computação definida pela biblioteca. |
eager |
Não é mais necessário; inicialmente foi projetado para corresponder let eager a um potencial let lazy. |
object |
Não há necessidade de reservar isso. |
recursive |
Use rec. |
functor |
Se f# adicionasse módulos parametrizados, você usaria module M(args) = .... |
measure |
Os [<Measure>] atributos são suficientes. |
volatile |
Os [<Volatile>] atributos são suficientes. |
Consulte também
- Referência da Linguagem F#
- Referência de símbolo e operador
- Opções do compilador