Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Esta seção é uma referência para F#, uma linguagem de programação multiparadigma direcionada ao .NET. O F# suporta modelos de programação funcionais, orientados a objetos e imperativos.
Organizando o código F#
A tabela a seguir mostra artigos de referência relacionados à organização do código F#.
| Título | Descrição |
|---|---|
| Namespaces (Espaços de nomes) | Saiba mais sobre o suporte a namespace em F#. Um namespace permite organizar o código em áreas de funcionalidade relacionada, permitindo que você anexe um nome a um agrupamento de elementos do programa. |
| Módulos | Saiba mais sobre os módulos. Um módulo F# é como um namespace e também pode incluir valores e funções. Agrupar o código em módulos ajuda a manter o código relacionado junto e ajuda a evitar conflitos de nome em seu programa. |
open Declarações |
Saiba como open funciona. Uma open declaração especifica um módulo, namespace ou tipo cujos elementos você pode fazer referência sem usar um nome totalmente qualificado. |
| Assinaturas | Saiba mais sobre assinaturas e arquivos de assinatura. Um arquivo de assinatura contém informações sobre as assinaturas públicas de um conjunto de elementos de programa F#, como tipos, namespaces e módulos. Ele pode ser usado para especificar a acessibilidade desses elementos do programa. |
| Controle de Acesso | Saiba mais sobre o controle de acesso em F#. Controle de acesso significa declarar quais clientes são capazes de usar determinados elementos do programa, como tipos, métodos, funções e assim por diante. |
| Documentação XML | Saiba mais sobre o suporte para gerar arquivos de documentação a partir de comentários de documentos XML, também conhecidos como comentários de barra tripla. Você pode produzir documentação a partir de comentários de código em F# como em outras linguagens .NET. |
Literais e cordas
A tabela a seguir mostra artigos de referência que descrevem literais e cadeias de caracteres em F#.
| Título | Descrição |
|---|---|
| Literais | Saiba mais sobre a sintaxe para valores literais em F# e como especificar informações de tipo para literais de F#. |
| Strings | Saiba mais sobre cadeias de caracteres em F#. O string tipo representa texto imutável, como uma sequência de caracteres Unicode.
string é um alias para System.String no .NET. |
| Cordas interpoladas | Saiba mais sobre strings interpoladas, uma forma especial de string que permite incorporar expressões F# diretamente dentro delas. |
Valores e Funções
A tabela a seguir mostra artigos de referência que descrevem conceitos de linguagem relacionados a valores, letligações e funções.
| Título | Descrição |
|---|---|
| Valores | Aprenda sobre valores, que são quantidades imutáveis que têm um tipo específico; Os valores podem ser números integrais ou de ponto flutuante, caracteres ou texto, listas, sequências, matrizes, tuplas, uniões discriminadas, registros, tipos de classe ou valores de função. |
| Funções | As funções são a unidade fundamental de execução de programas em qualquer linguagem de programação. Uma função F# tem um nome, pode ter parâmetros e aceitar argumentos, e tem um corpo. F# também suporta construções de programação funcional, como tratar funções como valores, usar funções sem nome em expressões, composição de funções para formar novas funções, funções selecionadas e a definição implícita de funções por meio da aplicação parcial de argumentos de função. |
| Expressões de função | Saiba como usar a palavra-chave F# 'fun' para definir uma expressão lambda, que é uma função anônima. |
Loops e Condicionais
A tabela a seguir lista artigos que descrevem loops e condicionais de F#.
| Título | Descrição |
|---|---|
Expressões condicionais: if...then...else |
Aprenda sobre a if...then...else expressão, que executa diferentes ramificações de código e também avalia para um valor diferente, dependendo da expressão booleana fornecida. |
Loops: for...in Expressão |
Saiba mais sobre a for...in expressão, uma construção de looping que é usada para iterar sobre as correspondências de um padrão em uma coleção enumerável, como uma expressão de intervalo, sequência, lista, matriz ou outra construção que ofereça suporte à enumeração. |
Loops: for...to Expressão |
Saiba mais sobre a for...to expressão, que é usada para iterar em um loop em um intervalo de valores de uma variável de loop. |
Loops: while...do Expressão |
Saiba mais sobre a while...do expressão, que é usada para executar execução iterativa (looping) enquanto uma condição de teste especificada é verdadeira. |
Correspondência de padrões
A tabela a seguir mostra artigos de referência que descrevem conceitos de linguagem.
| Título | Descrição |
|---|---|
| Correspondência de padrões | Saiba mais sobre padrões, que são regras para transformar dados de entrada e são usados em todo o F#. Você pode comparar dados com um padrão, decompor dados em partes constituintes ou extrair informações de dados de várias maneiras. |
| Expressões de correspondência | Saiba mais sobre a match expressão, que fornece controle de ramificação baseado na comparação de uma expressão com um conjunto de padrões. |
| Padrões Ativos | Saiba mais sobre padrões ativos. Os padrões ativos permitem definir partições nomeadas que subdividem dados de entrada. Você pode usar padrões ativos para decompor dados de maneira personalizada para cada partição. |
Processamento de Exceções
A tabela a seguir mostra artigos de referência que descrevem conceitos de linguagem relacionados ao tratamento de exceções.
| Título | Descrição |
|---|---|
| Tratamento de exceções | Contém informações sobre o suporte ao tratamento de exceções em F#. |
A try...with Expressão |
Saiba como usar a expressão para tratamento de try...with exceções. |
A try...finally Expressão |
Saiba como a expressão F# try...finally permite executar código de limpeza mesmo que um bloco de código gere uma exceção. |
A use palavra-chave |
Saiba mais sobre as palavras-chave use e using, que podem controlar a inicialização e liberação de recursos. |
| Afirmações | Saiba mais sobre a assert expressão, que é um recurso de depuração que você pode usar para testar uma expressão. Em caso de falha no modo de depuração, uma asserção gera uma caixa de diálogo de erro do sistema. |
Tipos e inferência de tipo
A tabela a seguir mostra artigos de referência que descrevem como os tipos e a inferência de tipos funcionam em F#.
| Título | Descrição |
|---|---|
| Tipos | Saiba mais sobre os tipos usados em F# e como os tipos de F# são nomeados e descritos. |
| Tipos básicos | Saiba mais sobre os tipos fundamentais usados em F#. Ele também fornece os tipos .NET correspondentes e os valores mínimo e máximo para cada tipo. |
| Tipo de unidade | Saiba mais sobre o unit tipo, que é um tipo que indica a ausência de um valor específico, o unit tipo tem apenas um único valor, que atua como um espaço reservado quando nenhum outro valor existe ou é necessário. |
| Abreviaturas dos tipos | Saiba mais sobre abreviaturas de tipo, que são nomes alternativos para tipos. |
| Inferência de tipo | Saiba mais sobre como o compilador F# infere os tipos de valores, variáveis, parâmetros e valores de retorno. |
| Conversão e Transformações | Saiba mais sobre o suporte para conversões de tipo em F#. |
| Genéricos | Saiba mais sobre construções genéricas em F#. |
| Generalização automática | Saiba como o F# generaliza automaticamente os argumentos e os tipos de funções para que eles funcionem com vários tipos quando possível. |
| Restrições | Saiba mais sobre restrições que se aplicam a parâmetros de tipo genéricos para especificar os requisitos para um argumento de tipo em um tipo ou função genéricos. |
| Tipos flexíveis | Saiba mais sobre tipos flexíveis. Uma anotação de tipo flexível é uma indicação de que um parâmetro, variável ou valor tem um tipo que é compatível com o tipo especificado, onde a compatibilidade é determinada pela posição em uma hierarquia orientada a objeto de classes ou interfaces. |
| Unidades de medida | Saiba mais sobre as unidades de medida. Os valores de ponto flutuante em F# podem ter unidades de medida associadas, que normalmente são usadas para indicar comprimento, volume, massa e assim por diante. |
| Byrefs | Saiba mais sobre os tipos byref e byref-like em F#, que são usados para programação de baixo nível. |
Tuplas, Listas, Coleções, Opções
A tabela a seguir mostra artigos de referência que descrevem tipos suportados por F#.
| Título | Descrição |
|---|---|
| Tuplas | Aprenda sobre tuplas, que são agrupamentos de valores sem nome, mas ordenados, de tipos possivelmente diferentes. |
| Coleções | Uma visão geral dos tipos de coleção funcional do F#, incluindo tipos para matrizes, listas, sequências (seq), mapas e conjuntos. |
| Listas | Saiba mais sobre listas. Uma lista em F# é uma série ordenada e imutável de elementos todos do mesmo tipo. |
| Opções | Saiba mais sobre o tipo de opção. Uma opção em F# é usada quando um valor pode ou não existir. Uma opção tem um tipo subjacente e pode conter um valor desse tipo ou pode não ter um valor. |
| Arrays | Saiba mais sobre matrizes. As matrizes são sequências mutáveis de tamanho fixo, baseadas em zero, de elementos de dados consecutivos, todos do mesmo tipo. |
| Sequências | Saiba mais sobre sequências. Uma sequência é uma série lógica de elementos, todos de um tipo. Os elementos de sequência individuais só são calculados se necessário, de modo que a representação pode ser menor do que uma contagem de elementos literais indica. |
| Expressões de sequência | Saiba mais sobre expressões de sequência, que permitem gerar sequências de dados sob demanda. |
| Células de referência | Saiba mais sobre as células de referência, que são locais de armazenamento que permitem criar variáveis mutáveis com semântica de referência. |
Registos e Sindicatos Discriminados
A tabela a seguir mostra artigos de referência que descrevem definições de registro e tipo de união discriminada suportadas pelo F#.
| Título | Descrição |
|---|---|
| Registos | Saiba mais sobre os registros. Os registros representam agregações simples de valores nomeados, opcionalmente com membros. |
| Registos Anónimos | Saiba como construir e usar registros anônimos, um recurso de linguagem que ajuda na manipulação de dados. |
| Sindicatos discriminados | Saiba mais sobre uniões discriminadas, que fornecem suporte para valores que podem ser um de uma variedade de casos nomeados, cada um com valores e tipos possivelmente diferentes. |
| Estruturas | Saiba mais sobre structs, que são tipos de objeto compactos que podem ser mais eficientes do que uma classe para tipos que têm uma pequena quantidade de dados e comportamento simples. |
| Enumerações | Enumerações são tipos que têm um conjunto definido de valores nomeados. Você pode usá-los no lugar de literais para tornar o código mais legível e sustentável. |
Programação de objetos
A tabela a seguir mostra artigos de referência que descrevem a programação de objetos F#.
| Título | Descrição |
|---|---|
| Classes | Saiba mais sobre classes, que são tipos que representam objetos que podem ter propriedades, métodos e eventos. |
| Interfaces | Saiba mais sobre interfaces, que especificam conjuntos de membros relacionados que outras classes implementam. |
| Classes abstratas | Aprenda sobre classes abstratas, que são classes que deixam alguns ou todos os membros não implementados, para que as implementações possam ser fornecidas por classes derivadas. |
| Extensões de tipo | Saiba mais sobre extensões de tipo, que permitem adicionar novos membros a um tipo de objeto definido anteriormente. |
| Delegados | Saiba mais sobre delegados, que representam uma chamada de função como um objeto. |
| Herança | Saiba mais sobre herança, que é usada para modelar a relação "is-a", ou subtipagem, na programação orientada a objetos. |
| Membros | Saiba mais sobre os membros dos tipos de objeto F#. |
| Parâmetros e argumentos | Saiba mais sobre o suporte à linguagem para definir parâmetros e passar argumentos para funções, métodos e propriedades. Inclui informações sobre como passar por referência. |
| Sobrecarga de Operador | Saiba mais sobre como sobrecarregar operadores aritméticos em uma classe ou tipo de registro e em nível global. |
| Expressões de objeto | Saiba mais sobre expressões de objeto, que são expressões que criam novas instâncias de um tipo de objeto anônimo criado dinamicamente e baseado em um tipo base, interface ou conjunto de interfaces existente. |
Assíncrono, Tarefas e Preguiça
A tabela a seguir lista tópicos que descrevem expressões assíncronas, de tarefas e preguiçosas do F#.
| Título | Descrição |
|---|---|
| Expressões assíncronas | Saiba mais sobre expressões assíncronas, que permitem escrever código assíncrono de uma forma muito próxima da maneira como você escreveria naturalmente código síncrono. |
| Expressões de Tarefa | Saiba mais sobre expressões de tarefas, que são uma maneira alternativa de escrever código assíncrono usado ao interoperar com código .NET que consome ou produz tarefas .NET. |
| Expressões preguiçosas | Aprenda sobre expressões preguiçosas, que são cálculos que não são avaliados imediatamente, mas são avaliados quando o resultado é realmente necessário. |
Expressões computacionais e consultas
A tabela a seguir lista tópicos que descrevem expressões de computação F# e consultas.
| Título | Descrição |
|---|---|
| Expressões computacionais | Saiba mais sobre expressões de computação em F#, que fornecem uma sintaxe conveniente para escrever cálculos que podem ser sequenciados e combinados usando construções e ligações de fluxo de controle. Eles podem ser usados para gerenciar dados, controle e efeitos colaterais em programas funcionais. |
| expressões de consulta | Saiba mais sobre expressões de consulta, um recurso de linguagem que implementa o LINQ for F# e permite que você escreva consultas em uma fonte de dados ou coleção enumerável. |
Atributos, reflexão, citações e formatação de texto simples
A tabela a seguir lista artigos que descrevem recursos reflexivos do F#, incluindo atributos, nameofcitações e formatação de texto sem formatação.
| Título | Descrição |
|---|---|
| Atributos | Saiba como os atributos F# permitem que os metadados sejam aplicados a uma construção de programação. |
| Nome da | Saiba mais sobre o nameof operador, um recurso de metaprogramação que permite produzir o nome de qualquer símbolo em seu código-fonte. |
| Informações sobre o chamador | Saiba como usar os atributos de argumento de informações do chamador para obter informações do chamador de um método. |
| Identificadores de linha, arquivo e caminho de origem | Saiba mais sobre os identificadores __LINE__, __SOURCE_DIRECTORY__, e __SOURCE_FILE__, que são valores internos que permitem acessar o número da linha de origem, o diretório e o nome do arquivo em seu código. |
| Cotações de código | Saiba mais sobre citações de código, um recurso de linguagem que permite gerar e trabalhar com expressões de código F# programaticamente. |
| Formatação de texto sem formatação | Saiba como usar sprintf e outra formatação de texto sem formatação em aplicativos e scripts F#. |
Provedores de tipo
A tabela a seguir lista artigos que descrevem provedores de tipo F#.
| Título | Descrição |
|---|---|
| Provedores de tipo | Saiba mais sobre provedores de tipo e encontre links para instruções passo a passo sobre como usar os provedores de tipo internos para acessar bancos de dados e serviços Web. |
| Criar um provedor de tipo | Saiba como criar seus próprios provedores de tipo F# examinando vários provedores de tipo simples que ilustram os conceitos básicos. |
Referência da API da biblioteca principal do F#
A referência da API F# Core Library (FSharp.Core) é a referência para todos os namespaces, módulos, tipos e funções da F# Core Library.
Tabelas de Referência
A tabela a seguir mostra artigos de referência que fornecem tabelas de palavras-chave, símbolos e literais que são usados como tokens em F#.
| Título | Descrição |
|---|---|
| Referência de palavra-chave | Contém links para informações sobre todas as palavras-chave da linguagem F#. |
| Símbolo e Referência do Operador | Contém uma tabela de símbolos e operadores que são usados em F#. |
Construções suportadas pelo compilador
A tabela a seguir lista tópicos que descrevem construções especiais suportadas por compiladores.
| Tópico | Descrição |
|---|---|
| Opções do compilador | Descreve as opções de linha de comando para o compilador F#. |
| Diretivas do compilador | Descreve as diretivas de processador e diretivas de compilador suportadas pelo compilador F#. |