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, let
encadernaçõ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, nameof
citaçõ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. |