F# Referência linguística

Esta secção é uma referência para F#, uma linguagem de programação multi-paradigma dirigida a .NET. F# suporta modelos de programação funcionais, orientados para objetos e imperativos.

Organização do Código F#

A tabela que se segue mostra artigos de referência relacionados com a organização do seu código F.

Título Descrição
Espaços de nomes Saiba mais sobre o suporte ao espaço de nome em F#. Um espaço de nome permite-lhe organizar código em áreas de funcionalidade relacionada, permitindo-lhe anexar um nome a um agrupamento de elementos do programa.
Módulos Saiba mais sobre módulos. Um módulo F# é como um espaço de nome e também pode incluir valores e funções. O código de agrupamento em módulos ajuda a manter o código relacionado em conjunto e ajuda a evitar conflitos de nomes no seu programa.
open Declarações Saiba como open funciona. Uma open declaração especifica um módulo, espaço de nome ou tipo cujos elementos pode referenciar sem usar um nome totalmente qualificado.
Assinaturas Saiba mais sobre assinaturas e ficheiros de assinaturas. Um ficheiro de assinatura contém informações sobre as assinaturas públicas de um conjunto de elementos do programa F#, tais como tipos, espaços de nome e módulos. Pode ser usado para especificar a acessibilidade destes elementos do programa.
Controlo de Acesso Saiba mais sobre o controlo de acessos em F#. Controlo de acesso significa declarar o que os clientes são capazes de usar certos elementos do programa, tais como tipos, métodos, funções, e assim por diante.
Documentação XML Saiba mais sobre o suporte para gerar ficheiros de documentação a partir de comentários do XML doc, também conhecidos como comentários triplos. Pode produzir documentação a partir de comentários de código em F# como em outras línguas .NET.

Literalismos e Cordas

A tabela seguinte mostra artigos de referência que descrevem literais e cordas em F#.

Título Descrição
Literais Saiba mais sobre a sintaxe para valores literais em F# e como especificar a informação do tipo para F# literal.
Cadeias Saiba mais sobre cordas em F#. O string tipo representa texto imutável, como uma sequência de caracteres Unicode. string é um pseudónimo para System.String em .NET.
Cordas interpoladas Saiba mais sobre as cordas interpoladas, uma forma especial de corda que lhe permite incorporar expressões F# diretamente dentro delas.

Valores e Funções

A tabela a seguir mostra artigos de referência que descrevem conceitos linguísticos relacionados com valores, letencadernações e funções.

Título Descrição
Valores Conheça os valores, que são quantidades imutáveis que têm um tipo específico; os valores podem ser números de pontos integrais ou flutuantes, caracteres ou textos, listas, sequências, matrizes, tuples, sindicatos discriminados, registos, tipos de classe ou valores de função.
Funções As funções são a unidade fundamental de execução do programa em qualquer linguagem de programação. Uma função F# tem um nome, pode ter parâmetros e ter argumentos, e tem um corpo. F# também suporta construções de programação funcional, tais como tratar funções como valores, usar funções não nomeadas em expressões, composição de funções para formar novas funções, funções curadas e a definição implícita de funções através da aplicação parcial de argumentos de função.
Expressões de função Aprenda a usar a palavra-chave F# 'fun' para definir uma expressão lambda, que é uma função anónima.

Loops e Condicionals

A tabela que se segue lista artigos que descrevem loops e condicionals F#.

Título Descrição
Expressões condicionais: if...then...else Conheça a if...then...else expressão, que executa diferentes ramos de código e também avalia a um valor diferente dependendo da expressão booleana dada.
Loops: for...in Expressão Conheça a for...in expressão, uma construção em loop que é usada para iterar sobre os fósforos de um padrão em uma coleção enumerada, como uma expressão de alcance, sequência, lista, matriz ou outra construção que suporta a enumeração.
Loops: for...to Expressão Conheça a for...to expressão, que é usada para iterar em um loop sobre uma gama de valores de uma variável loop.
Loops: while...do Expressão Saiba mais sobre a while...do expressão, que é usada para executar a execução iterativa (looping) enquanto uma condição de teste especificada é verdadeira.

Correspondência de padrões

A tabela que se segue mostra artigos de referência que descrevem conceitos linguísticos.

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#. Pode comparar dados com um padrão, decompor dados em partes constituintes ou extrair informação de dados de várias maneiras.
Expressões de correspondência Conheça a match expressão, que proporciona controlo de ramificação que se baseia 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-lhe definir divisórias nomeadas que subdividem dados de entrada. Você pode usar padrões ativos para decompor dados de forma personalizada para cada divisória.

Processamento de Exceções

A tabela a seguir mostra artigos de referência que descrevem conceitos linguísticos relacionados com o manuseamento de exceções.

Título Descrição
Processamento de Exceções Contém informações sobre o suporte de tratamento de exceções em F#.
A try...with Expressão Saiba como usar a expressão para o try...with tratamento de exceções.
A try...finally Expressão Saiba como a expressão F# try...finally lhe permite executar o código de limpeza mesmo que um bloco de código atire uma exceção.
A use palavra-chave Conheça as palavras-chave use e using, que podem controlar a inicialização e a libertação de recursos.
Afirmações Conheça a assert expressão, que é uma característica de depuragem que pode usar para testar uma expressão. Após falha no modo Debug, uma afirmação gera uma caixa de diálogo de erro do sistema.

Tipos e Inferência tipo

A tabela a seguir mostra artigos de referência que descrevem como os tipos e a inferência do tipo funcionam em F#.

Título Descrição
Tipos Saiba mais sobre os tipos que são utilizados em F# e como os tipos F# são nomeados e descritos.
Tipos Básicos Saiba mais sobre os tipos fundamentais que são usados em F#. Também fornece os seguintes tipos .NET e os valores mínimos e máximos 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 funciona como um espaço reservado quando não existe outro valor ou é necessário.
Tipo abreviaturas Saiba mais sobre abreviaturas tipo, que são nomes alternativos para tipos.
Inferência tipo Saiba como o compilador F# infere os tipos de valores, variáveis, parâmetros e valores de retorno.
Fundição e Conversõ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 F# generaliza automaticamente os argumentos e tipos de funções para que funcionem com vários tipos quando possível.
Restrições Saiba mais sobre os constrangimentos que se aplicam aos parâmetros genéricos do tipo para especificar os requisitos para um argumento tipo num tipo ou função genérico.
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 compatível com o tipo especificado, quando a compatibilidade é determinada por posição numa hierarquia orientada para objetos de classes ou interfaces.
Unidades de Medida Saiba mais sobre unidades de medida. Os valores dos pontos flutuantes em F# podem ter unidades de medida associadas, que são normalmente 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.

Tuples, 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 Saiba mais sobre tuples, que são agrupamentos de valores sem nome mas ordenados de possivelmente diferentes tipos.
Coleções Uma visão geral dos tipos de coleção funcional 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# é utilizada quando um valor pode ou não existir. Uma opção tem um tipo subjacente e pode ter um valor desse tipo ou pode não ter um valor.
Matrizes Saiba mais sobre as matrizes. As matrizes são sequências de tamanho fixo, baseadas em zero, mutáveis de elementos de dados consecutivos, todos do mesmo tipo.
Sequências Aprenda sobre sequências. Uma sequência é uma série lógica de elementos de um tipo. Os elementos de sequência individual só são calculados se necessário, pelo que a representação pode ser menor do que uma contagem de elementos literais indica.
Expressões de sequência Saiba mais sobre as expressões de sequência, que permitem gerar sequências de dados a pedido.
Células de referência Saiba mais sobre as células de referência, que são locais de armazenamento que lhe permitem criar variáveis mutáveis com semântica de referência.

Registos e Sindicatos Discriminados

A tabela que se segue mostra artigos de referência que descrevem definições de tipo sindical registadas e discriminadas apoiadas por F#.

Título Descrição
Registos Saiba mais sobre discos. Os registos representam agregados simples de valores nomeados, opcionalmente com os membros.
Registos Anónimos Aprenda a construir e usar registos anónimos, uma funcionalidade linguística que ajuda na manipulação de dados.
Sindicatos Discriminados Conheça os sindicatos discriminados, que apoiam valores que podem ser um dos vários casos nomeados, cada um com valores e tipos possivelmente diferentes.
Estruturas Saiba mais sobre as structs, que são tipos de objetos 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. Pode usá-las em vez de literais para tornar o código mais legível e mantido.

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 as aulas, 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.
Aulas abstratas Saiba mais sobre as classes abstratas, que são aulas que deixam alguns ou todos os membros por implementar, 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 previamente definido.
Delegados Conheça os delegados, que representam uma chamada de função como um objeto.
Herança Saiba mais sobre a herança, que é usada para modelo a relação "is-a", ou subtyping, na programação orientada para os objetos.
Membros Saiba mais sobre os membros dos tipos de objetos F#.
Parâmetros e Argumentos Saiba mais sobre o suporte linguístico para definir parâmetros e passar argumentos para funções, métodos e propriedades. Inclui informações sobre como passar por referência.
Sobrecarga do operador Saiba como sobrecarregar os operadores aritméticos numa classe ou tipo de gravação, e a nível global.
Expressões de objetos Saiba mais sobre expressões de objetos, que são expressões que criam novos casos de um tipo de objeto anónimo e dinâmico criado que se baseia num tipo de base, interface ou conjunto de interfaces existentes.

Async, Tarefas e Preguiçoso

A tabela que se segue lista temas que descrevem as teync, tarefa e expressões preguiçosas.

Título Descrição
Expressões assíncas Aprenda sobre expressões assíncroas, que lhe permitem escrever código assíncronos de uma forma que está muito próxima da forma como, naturalmente, escreveria código sincronizado.
Expressões de Tarefa Saiba mais sobre expressões de tarefas, que são uma forma alternativa de escrever código assíncrodo utilizado ao interoperar com o código .NET que consome ou produz tarefas .NET.
Expressões Preguiçosas Saiba mais sobre expressões preguiçosas, que são computações que não são avaliadas imediatamente, mas são avaliadas quando o resultado é realmente necessário.

Expressões computacional e Consultas

A tabela que se segue lista tópicos que descrevem expressões e consultas de computação F.

Título Descrição
Expressões computacional Saiba mais sobre expressões de computação em F#, que fornecem uma sintaxe conveniente para escrever computações que podem ser sequenciadas e combinadas usando construções e encadernações de fluxo de controlo. Podem ser usados para gerir dados, controlo e efeitos colaterais em programas funcionais.
Expressões de consulta Saiba mais sobre expressões de consulta, uma funcionalidade de idioma que implementa o LINQ para F# e permite-lhe escrever consultas contra uma fonte de dados ou uma recolha enumerada.

Atributos, Reflexão, Citações e Formatação de Texto Simples

A tabela que se segue lista artigos que descrevem funcionalidades reflexivas F#, incluindo atributos, nameofcitações e formatação de texto simples.

Título Descrição
Atributos Saiba como f# Os atributos permitem aplicar metadados a uma construção de programação.
nome de Saiba mais sobre o nameof operador, uma função de metaprogramação que lhe permite produzir o nome de qualquer símbolo no seu código fonte.
Informações de chamadas Saiba como usar os atributos de argumento do caller Info para obter informações de um método.
Identificadores de Linha de Origem, Ficheiros e Caminhos Saiba mais sobre os identificadores __LINE__, __SOURCE_DIRECTORY__e __SOURCE_FILE__, que são valores incorporados que lhe permitem aceder ao número da linha de origem, diretório e nome de ficheiro no seu código.
Cotações de Código Saiba mais sobre citações de código, uma funcionalidade de idioma que lhe permite gerar e trabalhar com expressões de código F# programáticamente.
Formatação de texto simples Saiba como usar sprintf e outros textos simples formatting em aplicações e scripts F#.

Fornecedores de tipo

A tabela que se segue lista artigos que descrevem os fornecedores do tipo F#.

Título Descrição
Fornecedores de tipo Saiba mais sobre os fornecedores de tipo e encontre links para pesquisas sobre a utilização dos fornecedores de tipo incorporado para aceder a bases de dados e serviços web.
Criar um fornecedor de tipo Aprenda a criar os seus próprios fornecedores do tipo F# examinando vários fornecedores de tipo simples que ilustram os conceitos básicos.

F# Referência API da Biblioteca Central

F# Core Library (FSharp.Core) A referência API é a referência para todos os espaços de nomes, módulos, tipos e funções da Biblioteca Core F#.

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 do idioma F.
Referência de símbolo e operador Contém uma tabela de símbolos e operadores que são usados em F#.

Construções apoiadas por compiladores

A tabela que se segue lista tópicos que descrevem construções especiais apoiadas por compiladores.

Tópico Descrição
Opções de compilador Descreve as opções de linha de comando para o compilador F.
Diretivas do compilador Descreve as diretivas do processador e as diretivas do compilador suportadas pelo compilador F.