Referenční dokumentace jazyka F#F# Language Reference

Tato část je odkazem na F# jazyk, víceúrovňové programovací jazyk, který cílí na .NET.This section is a reference to the F# language, a multi-paradigm programming language targeting .NET. F# Jazyk podporuje funkční, objektově orientované a imperativní programovací modely.The F# language supports functional, object-oriented and imperative programming models.

F#KlíčovF# Tokens

V následující tabulce jsou uvedena referenční témata, která poskytují tabulky klíčová slova, symboly a literály používané F#jako tokeny v.The following table shows reference topics that provide tables of keywords, symbols and literals used as tokens in F#.

NázevTitle PopisDescription
Referenční dokumentace klíčových slovKeyword Reference Obsahuje odkazy na informace o všech F# klíčových slovech jazyka.Contains links to information about all F# language keywords.
Referenční dokumentace symbolů a operátorůSymbol and Operator Reference Obsahuje tabulku symbolů a operátorů, které jsou používány v F# jazyce.Contains a table of symbols and operators that are used in the F# language.
LiterályLiterals Popisuje syntaxi pro hodnoty literálu v F# a, jak zadat informace o typu F# pro literály.Describes the syntax for literal values in F# and how to specify type information for F# literals.

F#Jazykové konceptyF# Language Concepts

V následující tabulce jsou uvedena referenční témata k dispozici, která popisují jazykové koncepty.The following table shows reference topics available that describe language concepts.

NázevTitle PopisDescription
FunkceFunctions Funkce jsou základní jednotkou spuštění programu v jakémkoli programovacím jazyce.Functions are the fundamental unit of program execution in any programming language. Stejně jako v jiných jazycích má F# funkce název, může mít parametry a přebírat argumenty a má tělo.As in other languages, an F# function has a name, can have parameters and take arguments, and has a body. F#také podporuje konstrukce funkčního programování, jako je zpracování funkcí jako hodnot, použití nepojmenovaných funkcí ve výrazech, složení funkcí pro vytváření nových funkcí, funkcí curryfikované a implicitní definice funkcí pomocí možností částečného. použití argumentů funkce.F# also supports functional programming constructs such as treating functions as values, using unnamed functions in expressions, composition of functions to form new functions, curried functions, and the implicit definition of functions by way of the partial application of function arguments.
Typy F#F# Types Popisuje typy, které se používají v F# a způsob F# pojmenování a popsaných typů.Describes the types that are used in F# and how F# types are named and described.
Odvození typuType Inference Popisuje, jak F# kompilátor odvodí typy hodnot, proměnných, parametrů a vrácených hodnot.Describes how the F# compiler infers the types of values, variables, parameters and return values.
Automatická generalizaceAutomatic Generalization Popisuje obecné konstrukce v F#.Describes generic constructs in F#.
DědičnostInheritance Popisuje dědění, které se používá k modelování vztahu "je-a", nebo při přetypování do objektově orientovaného programování.Describes inheritance, which is used to model the "is-a" relationship, or subtyping, in object-oriented programming.
ČlenovéMembers Popisuje členy typů F# objektů.Describes members of F# object types.
Parametry a argumentyParameters and Arguments Popisuje jazykovou podporu pro definování parametrů a předávání argumentů funkcím, metodám a vlastnostem.Describes language support for defining parameters and passing arguments to functions, methods, and properties. Obsahuje informace o tom, jak předat odkazem.It includes information about how to pass by reference.
Přetížení operátoruOperator Overloading Popisuje, jak přetížit aritmetické operátory v typu třídy nebo záznamu a na globální úrovni.Describes how to overload arithmetic operators in a class or record type, and at the global level.
Přetypování a převodyCasting and Conversions Popisuje podporu pro převody typu v F#.Describes support for type conversions in F#.
Řízení přístupuAccess Control Popisuje řízení přístupu v F#nástroji.Describes access control in F#. Řízení přístupu znamená deklaraci toho, co klienti mohou používat určité programové prvky, jako jsou typy, metody, funkce a tak dále.Access control means declaring what clients are able to use certain program elements, such as types, methods, functions and so on.
Porovnávání vzorůPattern Matching Popisuje vzory, které jsou pravidla pro transformaci vstupních dat, která se používají v celém F# jazyce k extrakci porovnávacích dat se vzorem, rozložení dat na části prvků nebo extrakci informací z dat různými způsoby.Describes patterns, which are rules for transforming input data that are used throughout the F# language to extract compare data with a pattern, decompose data into constituent parts, or extract information from data in various ways.
Aktivní vzoryActive Patterns Popisuje aktivní vzory.Describes active patterns. Aktivní vzory umožňují definovat pojmenované oddíly, které rozdělují vstupní data.Active patterns enable you to define named partitions that subdivide input data. Můžete použít aktivní vzory a rozložit data vlastním způsobem pro každý oddíl.You can use active patterns to decompose data in a customized manner for each partition.
Kontrolní výrazyAssertions Popisuje výraz assert, což je funkce ladění, kterou můžete použít k otestování výrazu.Describes the assert expression, which is a debugging feature that you can use to test an expression. Po selhání v režimu ladění vygeneruje kontrolní výraz dialogové okno systémové chyby.Upon failure in Debug mode, an assertion generates a system error dialog box.
Zpracování výjimekException Handling Obsahuje informace o podpoře zpracování výjimek v F# jazyce.Contains information about exception handling support in the F# language.
atributattributes Popisuje atributy, které povolují použití metadat pro programovací konstrukci.Describes attributes, which enable metadata to be applied to a programming construct.
Správa prostředků: klíčové slovo useResource Management: The use Keyword Popisuje klíčová slova use a using, která mohou řídit inicializaci a vydání prostředků.Describes the keywords use and using, which can control the initialization and release of resources
obsaženénamespaces Popisuje podporu oboru názvů F#v.Describes namespace support in F#. Obor názvů umožňuje organizovat kód do oblastí souvisejících funkcí tím, že umožňuje připojit název k seskupení prvků programu.A namespace lets you organize code into areas of related functionality by enabling you to attach a name to a grouping of program elements.
ModulyModules Popisuje moduly.Describes modules. F# Modul je seskupení F# kódu, jako jsou hodnoty, typy a hodnoty funkcí v F# programu.An F# module is a grouping of F# code, such as values, types, and function values, in an F# program. Seskupení kódu v modulech pomáhá udržet související kód dohromady a pomáhá vyhnout se konfliktům názvů v programu.Grouping code in modules helps keep related code together and helps avoid name conflicts in your program.
Deklarace importu: klíčové slovo openImport Declarations: The open Keyword Popisuje, jak open funguje.Describes how open works. Deklarace importu určuje modul nebo obor názvů, jehož prvky můžete odkazovat bez použití plně kvalifikovaného názvu.An import declaration specifies a module or namespace whose elements you can reference without using a fully qualified name.
SignaturySignatures Popisuje signatury a soubory signatur.Describes signatures and signature files. Podpisový soubor obsahuje informace o veřejných podpisech sady prvků F# programu, jako jsou typy, obory názvů a moduly.A signature file contains information about the public signatures of a set of F# program elements, such as types, namespaces, and modules. Dá se použít k určení přístupnosti těchto prvků programu.It can be used to specify the accessibility of these program elements.
Dokumentace XMLXML Documentation Popisuje podporu pro generování souborů dokumentace pro komentáře dokumentu XML, označované také jako komentáře se třemi lomítky.Describes support for generating documentation files for XML doc comments, also known as triple slash comments. Můžete získat dokumentaci z komentářů F# k kódu, stejně jako v jiných jazycích .NET.You can produce documentation from code comments in F# just as in other .NET languages.
Podrobná syntaxeVerbose Syntax Popisuje syntaxi pro F# konstrukce, pokud není povolena odlehčená syntaxe.Describes the syntax for F# constructs when lightweight syntax is not enabled. Podrobná syntaxe je označena direktivou #light "off" v horní části souboru kódu.Verbose syntax is indicated by the #light "off" directive at the top of the code file.

Typy F#F# Types

Následující tabulka uvádí referenční témata k dispozici, která popisují typy podporované F# jazykem.The following table shows reference topics available that describe types supported by the F# language.

NázevTitle PopisDescription
hodnotavalues Popisuje hodnoty, což jsou neměnné množství, které má určitý typ; hodnoty mohou být integrální nebo plovoucí desetinné čárky, znaky nebo text, seznamy, sekvence, pole, řazené kolekce členů, rozlišené sjednocení, záznamy, typy tříd nebo hodnoty funkcí.Describes values, which are immutable quantities that have a specific type; values can be integral or floating point numbers, characters or text, lists, sequences, arrays, tuples, discriminated unions, records, class types, or function values.
Základní typyBasic Types Popisuje základní typy, které se používají v F# jazyce.Describes the fundamental basic types that are used in the F# language. Poskytuje také odpovídající typy rozhraní .NET a minimální a maximální hodnoty pro každý typ.It also provides the corresponding .NET types and the minimum and maximum values for each type.
Typ jednotkyUnit Type Popisuje typ unit, což je typ, který označuje absenci konkrétní hodnoty; typ unit má pouze jednu hodnotu, která funguje jako zástupný symbol, pokud žádná jiná hodnota neexistuje nebo je potřeba.Describes the unit type, which is a type that indicates the absence of a specific value; the unit type has only a single value, which acts as a placeholder when no other value exists or is needed.
ŘetězceStrings Popisuje řetězce v F#.Describes strings in F#. Typ string představuje neměnný text jako posloupnost znaků Unicode.The string type represents immutable text, as a sequence of Unicode characters. string je alias pro System.String v .NET Framework.string is an alias for System.String in the .NET Framework.
Řazené kolekce členůTuples Popisuje řazené kolekce členů, které jsou seskupeními nepojmenovaných, ale seřazené hodnoty možných různých typů.Describes tuples, which are groupings of unnamed but ordered values of possibly different types.
Typy kolekcí F#F# Collection Types Přehled typů F# funkční kolekce, včetně typů pro pole, seznamy, posloupnosti (seq), mapy a sady.An overview of the F# functional collection types, including types for arrays, lists, sequences (seq), maps, and sets.
SeznamyLists Popisuje seznamy.Describes lists. Seznam v F# je seřazená, neproměnlivá řada prvků stejného typu.A list in F# is an ordered, immutable series of elements all of the same type.
MožnostiOptions Popisuje typ možnosti.Describes the option type. Možnost v F# se používá, pokud hodnota může nebo nemusí existovat.An option in F# is used when a value may or may not exist. Možnost má podkladový typ a může buď obsahovat hodnotu tohoto typu, nebo nemusí mít hodnotu.An option has an underlying type and may either hold a value of that type or it may not have a value.
SekvenceSequences Popisuje sekvence.Describes sequences. Sekvence je logická řada prvků všech jednoho typu.A sequence is a logical series of elements all of one type. Jednotlivé prvky sekvence jsou vypočítány pouze v případě potřeby, takže reprezentace může být menší než počet prvků literálu.Individual sequence elements are only computed if required, so the representation may be smaller than a literal element count indicates.
PoleArrays Popisuje pole.Describes arrays. Pole mají pevnou velikost, s nulovým základem, proměnlivé sekvence po sobě jdoucích datových prvků, a to vše stejného typu.Arrays are fixed-size, zero-based, mutable sequences of consecutive data elements, all of the same type.
ZáznamyRecords Popisuje záznamy.Describes records. Záznamy reprezentují jednoduché agregované hodnoty pojmenovaných hodnot, volitelně s členy.Records represent simple aggregates of named values, optionally with members.
Rozlišovaná sjednoceníDiscriminated Unions Popisuje rozlišené sjednocení, které poskytuje podporu pro hodnoty, které mohou být jedním z různých pojmenovaných případů, z nichž každá má možné různé hodnoty a typy.Describes discriminated unions, which provides support for values which may be one of a variety of named cases, each with possibly different values and types.
VýčtyEnumerations Popisuje výčty typů, které mají definovanou sadu pojmenovaných hodnot.Describes enumerations are types that have a defined set of named values. Můžete je použít místo literálů, aby bylo možné čitelnější a udržovatelnější kód.You can use them in place of literals to make code more readable and maintainable.
Referenční buňkyReference Cells Popisuje referenční buňky, což jsou umístění úložiště, která umožňují vytvořit proměnlivé proměnné s referenční sémantikou.Describes reference cells, which are storage locations that enable you to create mutable variables with reference semantics.
Zkratky typůType Abbreviations Popisuje zkratky typu, což jsou alternativní názvy pro typy.Describes type abbreviations, which are alternate names for types.
TřídyClasses Popisuje třídy, které jsou typy reprezentující objekty, které mohou mít vlastnosti, metody a události.Describes classes, which are types that represent objects that can have properties, methods, and events.
StrukturyStructures Popisuje struktury, které jsou typy kompaktních objektů, které mohou být efektivnější než třída pro typy, které mají malé množství dat a jednoduché chování.Describes structures, which are compact object types that can be more efficient than a class for types that have a small amount of data and simple behavior.
RozhraníInterfaces Popisuje rozhraní, která určují sady souvisejících členů, které implementují jiné třídy.Describes interfaces, which specify sets of related members that other classes implement.
Abstraktní třídyAbstract Classes Popisuje abstraktní třídy, které jsou třídy, které ponechávají některé nebo všechny členy neimplementované, takže implementace mohou být poskytnuty odvozenými třídami.Describes abstract classes, which are classes that leave some or all members unimplemented, so that implementations can be provided by derived classes.
Rozšíření typůType Extensions Popisuje rozšíření typu, která umožňují přidat nové členy do dříve definovaného typu objektu.Describes type extensions, which let you add new members to a previously defined object type.
Flexibilní typyFlexible Types Popisuje flexibilní typy.Describes flexible types. Flexibilní anotace typu je indikaci, že parametr, proměnná nebo hodnota má typ, který je kompatibilní se zadaným typem, kde kompatibilita je určena pozicí v objektově orientované hierarchii tříd nebo rozhraní.A flexible type annotation is an indication that a parameter, variable or value has a type that is compatible with type specified, where compatibility is determined by position in an object-oriented hierarchy of classes or interfaces.
DelegátyDelegates Popisuje delegáty, které reprezentují volání funkce jako objekt.Describes delegates, which represent a function call as an object.
Měrné jednotkyUnits of Measure Popisuje měrné jednotky.Describes units of measure. Hodnoty s plovoucí desetinnou čárkou v F# můžou mít přidružené měrné jednotky, které se obvykle používají k označení délky, objemu, hmotnosti a tak dále.Floating point values in F# can have associated units of measure, which are typically used to indicate length, volume, mass, and so on.
Zprostředkovatelé typůType Providers Popisuje typ a obsahuje odkazy na návody k používání předdefinovaných poskytovatelů typů pro přístup k databázím a webovým službám.Describes type provides and provides links to walkthroughs on using the built-in type providers to access databases and web services.

F#ExpressionF# Expressions

V následující tabulce jsou uvedena témata, F# která popisují výrazy.The following table lists topics that describe F# expressions.

NázevTitle PopisDescription
Podmíněné výrazy: if...then...elseConditional Expressions: if...then...else Popisuje výraz if...then...else, který spouští různé větve kódu a také je vyhodnocen na jinou hodnotu v závislosti na daném logickém výrazu.Describes the if...then...else expression, which runs different branches of code and also evaluates to a different value depending on the Boolean expression given.
Výrazy shodyMatch Expressions Popisuje výraz match, který poskytuje řízení větvení, které je založeno na porovnání výrazu se sadou vzorů.Describes the match expression, which provides branching control that is based on the comparison of an expression with a set of patterns.
Smyčky: výraz for...toLoops: for...to Expression Popisuje výraz for...to, který se používá k iteraci ve smyčce přes rozsah hodnot proměnné smyčky.Describes the for...to expression, which is used to iterate in a loop over a range of values of a loop variable.
Smyčky: výraz for...inLoops: for...in Expression Popisuje výraz for...in, smyčka, která se používá k iterování přes shody vzoru ve vyčíslitelné kolekci, jako je například výraz rozsahu, sekvence, seznam, pole nebo jiný konstruktor, který podporuje výčet.Describes the for...in expression, a looping construct that is used to iterate over the matches of a pattern in an enumerable collection such as a range expression, sequence, list, array, or other construct that supports enumeration.
Smyčky: výraz while...doLoops: while...do Expression Popisuje výraz while...do, který se používá k provedení iterativního spuštění (opakování), zatímco zadaná podmínka testu je pravdivá.Describes the while...do expression, which is used to perform iterative execution (looping) while a specified test condition is true.
Objektové výrazyObject Expressions Popisuje výrazy objektu, které jsou výrazy, které vytvářejí nové instance dynamicky vytvořeného typu anonymního objektu, který je založen na stávajícím základním typu, rozhraní nebo sadě rozhraní.Describes object expressions, which are expressions that create new instances of a dynamically created, anonymous object type that is based on an existing base type, interface, or set of interfaces.
Výrazy LazyLazy Expressions Popisuje opožděné výrazy, které jsou výpočty, které nejsou vyhodnocovány okamžitě, ale jsou vyhodnoceny, když je výsledek skutečně požadován.Describes lazy expressions, which are computations that are not evaluated immediately, but are instead evaluated when the result is actually needed.
Výpočetní výrazyComputation Expressions Popisuje výrazy výpočtů v F#, které poskytují praktickou syntaxi pro zápis výpočtů, které mohou být seřazeny a kombinovány pomocí konstrukcí a vazeb toku řízení.Describes computation expressions in F#, which provide a convenient syntax for writing computations that can be sequenced and combined using control flow constructs and bindings. Dají se použít k poskytnutí pohodlné syntaxe pro monádami, funkce programování, která se dá použít ke správě dat, řízení a vedlejších účinků ve funkčních programech.They can be used to provide a convenient syntax for monads, a functional programming feature that can be used to manage data, control and side effects in functional programs. Jeden typ výpočetního výrazu, asynchronní pracovní postup, poskytuje podporu pro asynchronní a paralelní výpočty.One type of computation expression, the asynchronous workflow, provides support for asynchronous and parallel computations. Další informace najdete v tématu asynchronní pracovní postupy.For more information, see Asynchronous Workflows.
Asynchronní pracovní postupyAsynchronous Workflows Popisuje asynchronní pracovní postupy, funkce jazyka, která umožňuje psát asynchronní kód způsobem, který je velmi blízko způsobu, jakým byste mohli přirozeně psát synchronní kód.Describes asynchronous workflows, a language feature that lets you write asynchronous code in a way that is very close to the way you would naturally write synchronous code.
Citace kóduCode Quotations Popisuje citace kódu, funkci jazyka, která umožňuje vygenerovat a pracovat s F# výrazy kódu programově.Describes code quotations, a language feature that enables you to generate and work with F# code expressions programmatically.
Výrazy dotazuQuery Expressions Popisuje výrazy dotazu, funkci jazyka, která implementuje LINQ pro F# a umožňuje zapisovat dotazy na zdroj dat nebo vyčíslitelné kolekce.Describes query expressions, a language feature that implements LINQ for F# and enables you to write queries against a data source or enumerable collection.

Konstrukce podporované kompilátoremCompiler-supported Constructs

V následující tabulce jsou uvedena témata, která popisují speciální konstrukce podporované kompilátorem.The following table lists topics that describe special compiler-supported constructs.

TémaTopic PopisDescription
Možnosti kompilátoruCompiler Options Popisuje možnosti příkazového řádku pro F# kompilátor.Describes the command-line options for the F# compiler.
Direktivy kompilátoruCompiler Directives Popisuje direktivy procesoru a direktivy kompilátoru.Describes processor directives and compiler directives.
Identifikátory zdrojového řádku, souboru a cestySource Line, File, and Path Identifiers Popisuje identifikátory __LINE__, __SOURCE_DIRECTORY__ a __SOURCE_FILE__, což jsou předdefinované hodnoty, které umožňují přístup ke zdrojovému číslu řádku, adresáři a názvu souboru ve vašem kódu.Describes the identifiers __LINE__, __SOURCE_DIRECTORY__ and __SOURCE_FILE__, which are built-in values that enable you to access the source line number, directory and file name in your code.