Поделиться через


Справочник по языку F#

В этом разделе приведена ссылка на F#, язык программирования с несколькими парадигмами, предназначенный для .NET. F# поддерживает функциональные, объектно-ориентированные и императивные модели программирования.

Упорядочение кода F#

В следующей таблице показаны справочные статьи, связанные с организацией кода F#.

Название Описание
Пространства имен Сведения о поддержке пространства имен в F#. Пространство имен позволяет упорядочивать код в области связанных функциональных возможностей, позволяя прикрепить имя к группировке элементов программы.
Модули Сведения о модулях. Модуль F# похож на пространство имен, а также может включать значения и функции. Группирование кода в модулях помогает держать связанный код вместе и помогает избежать конфликтов имен в программе.
open Объявления Узнайте, как open работает. Объявление open указывает модуль, пространство имен или тип, элементы которого можно ссылаться без использования полного имени.
Signatures Сведения о подписях и файлах подписей. Файл подписи содержит сведения о общедоступных подписях набора элементов программы F#, таких как типы, пространства имен и модули. Его можно использовать для указания специальных возможностей этих элементов программы.
Контроль доступа Сведения об управлении доступом в F#. Управление доступом означает объявление того, какие клиенты могут использовать определенные элементы программы, такие как типы, методы, функции и т. д.
XML-документация Узнайте о поддержке создания файлов документации из комментариев XML-документов, также известных как три косых примечаний. Документацию можно создать из комментариев кода в F#, как и на других языках .NET.

Литералы и строки

В следующей таблице показаны справочные статьи, описывающие литералы и строки в F#.

Название Описание
Литералы Узнайте о синтаксисе для литеральных значений в F# и о том, как указать сведения о типе для литералы F#.
строки Узнайте о строках в F#. Тип string представляет неизменяемый текст в виде последовательности символов Юникода. string является псевдонимом для System.String в .NET.
Интерполированные строки Узнайте о интерполированных строках, специальной форме строки, которая позволяет внедрять выражения F# непосредственно внутри них.

Значения и функции

В следующей таблице показаны справочные статьи, описывающие понятия языка, связанные с значениями, letпривязками и функциями.

Название Описание
Значения Узнайте о значениях, которые являются неизменяемыми значениями, имеющими определенный тип; значения могут быть целочисленными или числами с плавающей запятой, символами или текстом, списками, последовательности, массивами, кортежами, дискриминированными объединениями, записями, типами классов или значениями функций.
Функции Функции — это основная единица выполнения программы на любом языке программирования. Функция F# имеет имя, может иметь параметры и принимать аргументы и иметь текст. F# также поддерживает функциональные конструкции программирования, такие как обработка функций как значений, использование неименованных функций в выражениях, композиция функций для формирования новых функций, курриированных функций и неявного определения функций путем частичного применения аргументов функций.
Выражения функций Узнайте, как использовать ключевое слово F# fun для определения лямбда-выражения, которое является анонимной функцией.

Циклы и условные выражения

В следующей таблице перечислены статьи, описывающие циклы и условные условия F#.

Название Описание
Условные выражения: if...then...else Узнайте о if...then...else выражении, которое выполняет различные ветви кода, а также оценивается по-разному в зависимости от логического выражения.
Циклы: for...in выражение Узнайте о for...in выражении, цикливной конструкции, которая используется для итерации совпадений шаблона в перечисленной коллекции, такой как выражение диапазона, последовательность, список, массив или другая конструкция, поддерживающая перечисление.
Циклы: for...to выражение Узнайте о for...to выражении, которое используется для итерации в цикле по диапазону значений переменной цикла.
Циклы: while...do выражение Узнайте о while...do выражении, которое используется для выполнения итеративного выполнения (циклирования) в то время как указанное условие теста имеет значение true.

Сопоставление с шаблоном

В следующей таблице показаны справочные статьи, описывающие основные понятия языка.

Название Описание
Сопоставление с шаблоном Узнайте о шаблонах, которые являются правилами преобразования входных данных и используются в F#. Вы можете сравнить данные с шаблоном, разложить данные на составные части или извлечь информацию из данных различными способами.
выражения для сопоставления Узнайте о match выражении, которое предоставляет ветвление, основанное на сравнении выражения с набором шаблонов.
Активные шаблоны Узнайте о активных шаблонах. Активные шаблоны позволяют определять именованные секции, которые подразделяют входные данные. Активные шаблоны можно использовать для разбиения данных в настраиваемом режиме для каждой секции.

Обработка исключений.

В следующей таблице показаны справочные статьи, описывающие основные понятия языка, связанные с обработкой исключений.

Название Описание
обработка исключений Содержит сведения о поддержке обработки исключений в F#.
try...with Выражение Узнайте, как использовать выражение для обработки исключений try...with .
try...finally Выражение Узнайте, как выражение F# try...finally позволяет выполнять код очистки, даже если блок кода создает исключение.
Ключевое use слово Узнайте о ключевых словах и usingвозможностях use управления инициализацией и выпуском ресурсов.
Утверждения Узнайте о assert выражении, которое является функцией отладки, которую можно использовать для тестирования выражения. При сбое в режиме отладки утверждение создает диалоговое окно системной ошибки.

Типы и вывод типов

В следующей таблице показаны справочные статьи, описывающие, как работают типы и вывод типов в F#.

Название Описание
Типы Узнайте о типах, используемых в F# и о том, как называются и описываются типы F#.
базовых типов Узнайте о основных типах, используемых в F#. Он также предоставляет соответствующие типы .NET и минимальные и максимальные значения для каждого типа.
Тип единицы Узнайте о unit типе, который является типом, указывающим на отсутствие определенного значения; unit тип имеет только одно значение, которое выступает в качестве заполнителя, если другое значение не существует или не требуется.
Аббревиаций типов Узнайте об сокращенных типах, которые являются альтернативными именами для типов.
Вывод типов Узнайте, как компилятор F# определяет типы значений, переменных, параметров и возвращаемых значений.
Приведение и преобразование Сведения о поддержке преобразований типов в F#.
Обобщения Узнайте о универсальных конструкциях в F#.
Автоматическое обобщение Узнайте, как F# автоматически обобщает аргументы и типы функций, чтобы они работали с несколькими типами, когда это возможно.
Ограничения Сведения о ограничениях, применяемых к параметрам универсального типа, чтобы указать требования к аргументу типа в универсальном типе или функции.
Гибкие типы Узнайте о гибких типах. Заметка гибкого типа — это указание на то, что параметр, переменная или значение имеют тип, совместимый с указанным типом, где совместимость определяется позицией в объектно-ориентированной иерархии классов или интерфейсов.
Единицы измерения Узнайте о единицах измерения. Значения с плавающей запятой в F# могут иметь связанные единицы измерения, которые обычно используются для указания длины, объема, массы и т. д.
Byrefs Узнайте о типах byref и byref-like в F#, которые используются для низкоуровневого программирования.

Кортежи, списки, коллекции, параметры

В следующей таблице показаны справочные статьи, описывающие типы, поддерживаемые F#.

Название Описание
Кортежи Узнайте о кортежах, которые представляют собой группировки неназванных, но упорядоченных значений, возможно, различных типов.
коллекции Обзор типов функциональных коллекций F#, включая типы массивов, списков, последовательностей (seq), карт и наборов.
Списки Узнайте о списках. Список в F# — это упорядоченный, неизменяемый ряд элементов одного типа.
Параметры Сведения о типе параметра. Параметр в F# используется, если значение может существовать или может не существовать. Параметр имеет базовый тип и может содержать значение этого типа или не иметь значения.
Массивы Узнайте о массивах. Массивы представляют собой фиксированный размер, отсчитываемые от нуля последовательности элементов данных, все один и тот же тип.
последовательности Узнайте о последовательностях. Последовательность — это логический ряд элементов всех одного типа. Отдельные элементы последовательности вычисляются только при необходимости, поэтому представление может быть меньше, чем число литеральных элементов указывает.
Выражения последовательности Узнайте о выражениях последовательности, которые позволяют создавать последовательности данных по запросу.
Ссылочные ячейки Узнайте о ссылочных ячейках, которые являются расположениями хранения, которые позволяют создавать изменяемые переменные с семантикой ссылок.

Записи и дискриминированные профсоюзы

В следующей таблице приведены справочные статьи, описывающие определения типов профсоюзов, которые описывают определения типов записей и дискриминации, поддерживаемые F#.

Название Описание
Записи Узнайте о записях. Записи представляют простые агрегаты именованных значений, при необходимости с элементами.
Анонимные записи Узнайте, как создавать и использовать анонимные записи, функцию языка, которая помогает управлять данными.
Дискриминированные профсоюзы Узнайте о дискриминированных профсоюзах, которые обеспечивают поддержку значений, которые могут быть одним из различных именованных случаев, каждый из которых может иметь разные значения и типы.
структуры Узнайте о структуры, которые представляют собой компактные типы объектов, которые могут быть более эффективными, чем класс для типов с небольшим объемом данных и простым поведением.
перечисления Перечисления — это типы, имеющие определенный набор именованных значений. Их можно использовать вместо литерала, чтобы сделать код более читаемым и поддерживаемым.

Программирование объектов

В следующей таблице показаны справочные статьи, описывающие программирование объектов F#.

Название Описание
Классы Узнайте о классах, которые представляют объекты, которые могут иметь свойства, методы и события.
Интерфейсы Узнайте об интерфейсах, которые указывают наборы связанных элементов, которые реализуют другие классы.
абстрактные классы Узнайте об абстрактных классах, которые являются классами, оставляющими некоторые или все члены неисправными, чтобы реализации могли предоставляться производными классами.
Расширения типов Узнайте о расширениях типов, которые позволяют добавлять новые члены в ранее определенный тип объекта.
делегаты Узнайте о делегатах, представляющих вызов функции в качестве объекта.
Наследование Узнайте о наследовании, которое используется для моделирования отношения "is-a" или подтипирования в объектно-ориентированном программировании.
Участники Узнайте о членах типов объектов F#.
Параметры и аргументы Узнайте о поддержке языка для определения параметров и передачи аргументов в функции, методы и свойства. В ней содержатся сведения о передаче по ссылке.
Перегрузка оператора Узнайте, как перегружать арифметические операторы в классе или типе записей и на глобальном уровне.
Выражения объектов Узнайте о выражениях объектов, которые представляют собой выражения, которые создают новые экземпляры динамически созданного, анонимного типа объекта, основанного на существующем базовом типе, интерфейсе или наборе интерфейсов.

Асинхронные, задачи и отложенные

В следующей таблице перечислены разделы, описывающие асинхронные выражения F#, задачи и отложенные выражения.

Название Описание
Асинхронные выражения Узнайте о асинхронных выражениях, которые позволяют писать асинхронный код таким образом, что очень близко к тому, как вы естественно напишете синхронный код.
Выражения задач Узнайте о выражениях задач, которые являются альтернативным способом написания асинхронного кода, используемого при взаимодействии с кодом .NET, который использует или создает задачи .NET.
Отложенные выражения Узнайте о отложенных выражениях, которые являются вычислениями, которые не оцениваются немедленно, но оцениваются, когда результат действительно необходим.

Выражения вычислений и запросы

В следующей таблице перечислены разделы, описывающие выражения и запросы вычислений F#.

Название Описание
Выражения вычислений Узнайте о выражениях вычислений в F#, которые предоставляют удобный синтаксис для написания вычислений, которые можно выполнить последовательно и объединить с помощью конструкций потока управления и привязок. Их можно использовать для управления данными, контролем и побочными эффектами в функциональных программах.
Выражения запросов Узнайте о выражениях запросов, языковой компонент, реализующий LINQ для F# и позволяющий создавать запросы к источнику данных или перечисленной коллекции.

Атрибуты, отражение, кавычки и форматирование обычного текста

В следующей таблице перечислены статьи, описывающие отражающие функции F#, включая атрибуты, кавычки и nameofформатирование обычного текста.

Название Описание
Атрибуты Узнайте, как атрибуты F# позволяют применять метаданные к конструкции программирования.
nameof Узнайте о nameof операторе, функции метапрограммирования, которая позволяет создавать имя любого символа в исходном коде.
Сведения о вызывающем объекте Узнайте, как использовать атрибуты аргумента сведений о вызывающем объекте для получения сведений о вызывающем объекте из метода.
Идентификаторы исходной строки, файла и пути Сведения об идентификаторах и __SOURCE_DIRECTORY____SOURCE_FILE__встроенных значениях__LINE__, которые позволяют получить доступ к номеру исходной строки, каталогу и имени файла в коде.
Кавычки кода Узнайте о кавычках кода, функции языка, которая позволяет создавать и работать с выражениями кода F#программными средствами.
Форматирование обычного текста Узнайте, как использовать спринт и другое форматирование обычного текста в приложениях и скриптах F#.

Поставщики типов

В следующей таблице перечислены статьи, описывающие поставщиков типов F#.

Название Описание
Поставщики типов Узнайте о поставщиках типов и найдите ссылки на пошаговые руководства по использованию встроенных поставщиков типов для доступа к базам данных и веб-службам.
Создание поставщика типов Узнайте, как создать собственные поставщики типов F#, проверив несколько простых поставщиков типов, которые иллюстрируют основные понятия.

Справочник по API библиотеки F#

Справочник по API библиотеки F# Core (FSharp.Core) — это справочник по всем пространствам имен библиотеки F# Core, модулям, типам и функциям.

Справочные таблицы

В следующей таблице показаны справочные статьи, предоставляющие таблицы ключевых слов, символов и литералы, которые используются в качестве маркеров в F#.

Название Описание
Справочник по ключевым словам Содержит ссылки на сведения обо всех ключевых словах языка F#.
Справочник по символам и операторам Содержит таблицу символов и операторов, используемых в F#.

Поддерживаемые компилятором конструкции

В следующей таблице перечислены разделы, описывающие специальные конструкции, поддерживаемые компилятором.

Тема Описание
Параметры компилятора Описывает параметры командной строки для компилятора F#.
Директивы компилятора Описывает директивы процессора и директивы компилятора, поддерживаемые компилятором F#.