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


Справочник по ключевым словам

В этом разделе содержатся ссылки на сведения обо всех ключевых словах языка F#.

Таблица ключевых слов F#

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

Ключевое слово Ссылка Описание
abstract Участники

абстрактные классы
Указывает метод, который либо не имеет реализации в типе, в котором он объявлен или является виртуальным, и имеет реализацию по умолчанию.
and let Привязки

Записи

Участники

Ограничения
Используется в рекурсивных привязках и записях, в объявлениях свойств и с несколькими ограничениями на универсальные параметры.
as Классы

Сопоставление с шаблоном
Используется для предоставления текущего объекта класса имени объекта. Также используется для присвоения имени целому шаблону в соответствии с шаблоном.
assert Утверждения Используется для проверки кода во время отладки.
base Классы

Наследование
Используется в качестве имени объекта базового класса.
begin Подробный синтаксис В подробном синтаксисе указывает начало блока кода.
class Классы В подробном синтаксисе указывает начало определения класса.
default Участники Указывает реализацию абстрактного метода; используется вместе с объявлением абстрактного метода для создания виртуального метода.
delegate делегаты Используется для объявления делегата.
do Do Bindings

Циклы: for...to выражение

Циклы: for...in выражение

Циклы: while...do выражение
Используется в конструкциях циклического цикла или для выполнения императивного кода.
done Подробный синтаксис В подробном синтаксисе указывает конец блока кода в выражении цикла.
downcast Приведение и преобразование Используется для преобразования в тип, который ниже в цепочке наследования.
downto Циклы: for...to выражение В выражении, используемом for при подсчете в обратном направлении.
elif Условные выражения: if...then...else Используется в условной ветви. Короткая форма else if.
else Условные выражения: if...then...else Используется в условной ветви.
end структуры

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

Записи

Расширения типов

Подробный синтаксис
В определениях типов и расширениях типов указывает конец раздела определений элементов.

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

Типы исключений
Используется для объявления типа исключения.
extern Внешние функции Указывает, что объявленный элемент программы определен в другом двоичном файле или сборке.
false Примитивные типы Используется как логический литерал.
finally Исключения: try...finally выражение Используется вместе с try введением блока кода, который выполняется независимо от того, возникает ли исключение.
fixed Исправлено Используется для закрепления указателя на стеке, чтобы предотвратить сбор мусора.
for Циклы: for...to выражение

Циклы: для... в выражении
Используется в конструкциях циклического цикла.
fun Лямбда-выражения: ключевое fun слово Используется в лямбда-выражениях, также известных как анонимные функции.
function выражения для сопоставления

Лямбда-выражения: веселое ключевое слово
Используется в качестве более короткой альтернативы fun ключевому слову и match выражению в лямбда-выражении, которое соответствует шаблону для одного аргумента.
global Пространства имен Используется для ссылки на пространство имен .NET верхнего уровня.
if Условные выражения: if...then...else Используется в конструкциях условной ветвления.
in Циклы: для... в выражении

Подробный синтаксис
Используется для выражений последовательности и в подробном синтаксисе для разделения выражений от привязок.
inherit Наследование Используется для указания базового класса или базового интерфейса.
inline Функции

Встраиваемые функции
Используется для указания функции, которая должна быть интегрирована непосредственно в код вызывающего средства.
interface Интерфейсы Используется для объявления и реализации интерфейсов.
internal Контроль доступа Используется для указания того, что элемент отображается внутри сборки, но не за ее пределами.
lazy Отложенные выражения Используется для указания выражения, выполняемого только в том случае, если требуется результат.
let let Привязки Используется для связывания или привязки имени к значению или функции.
let! Асинхронные выражения

выражения задач

Выражения вычислений
Используется в асинхронных выражениях для привязки имени к результату асинхронного вычисления или в других выражениях вычислений, используемых для привязки имени к результату, который является типом вычисления.
match выражения для сопоставления Используется для ветвления путем сравнения значения с шаблоном.
match! Выражения вычислений Используется для встроенного вызова выражения вычислений и сопоставления шаблонов в результатах.
member Участники Используется для объявления свойства или метода в типе объекта.
module Модули Используется для связывания имени с группой связанных типов, значений и функций для логического разделения его от другого кода.
mutable разрешить привязкам Используется для объявления переменной, то есть значения, которое можно изменить.
namespace Пространства имен Используется для связывания имени с группой связанных типов и модулей, чтобы логически отделять его от другого кода.
new Конструкторы

Ограничения
Используется для объявления, определения или вызова конструктора, создающего или создающего объект.

Также используется в ограничениях универсальных параметров, чтобы указать, что тип должен иметь определенный конструктор.
not Справочник по символам и операторам

Ограничения
Не ключевое слово. not struct Однако в сочетании используется в качестве универсального ограничения параметров.
null Значения NULL

Ограничения
Указывает отсутствие объекта.

Также используется в универсальных ограничениях параметров.
of Дискриминированные профсоюзы

делегаты

Типы исключений
Используется в различаемых объединениях, чтобы указать тип категорий значений, а также в объявлениях делегатов и исключений.
open Объявления импорта: ключевое open слово Используется для создания содержимого пространства имен или модуля без квалификации.
or Справочник по символам и операторам

Ограничения
Используется с логическими условиями в качестве логического or оператора. Эквивалент ||.

Также используется в ограничениях элементов.
override Участники Используется для реализации версии абстрактного или виртуального метода, отличающегося от базовой версии.
private Контроль доступа Ограничивает доступ к члену коду в том же типе или модуле.
public Контроль доступа Разрешает доступ к элементу за пределами типа.
rec Функции Используется для указания, что функция рекурсивна.
return Выражения вычислений

Асинхронные выражения

выражения задач
Используется для указания значения для предоставления в результате выражения вычисления.
return! Выражения вычислений

Асинхронные выражения

выражения задач
Используется для указания выражения вычисления, которое при вычислении предоставляет результат содержащего вычислительного выражения.
select Выражения запросов Используется в выражениях запроса, чтобы указать, какие поля или столбцы необходимо извлечь. Обратите внимание, что это контекстное ключевое слово, которое означает, что это не зарезервированное слово, и оно действует только как ключевое слово в соответствующем контексте.
static Участники Используется для указания метода или свойства, которое может вызываться без экземпляра типа или элемента значения, общего между всеми экземплярами типа.
struct структуры

Кортежи

Ограничения
Используется для объявления типа структуры.

Используется для указания кортежа структуры.

Также используется в универсальных ограничениях параметров.

Используется для совместимости OCaml в определениях модулей.
then Условные выражения: if...then...else

Конструкторы
Используется в условных выражениях.

Также используется для выполнения побочных эффектов после строительства объекта.
to Циклы: for...to выражение Используется в for циклах для указания диапазона.
true Примитивные типы Используется как логический литерал.
try Исключения: пробная попытка... с выражением

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

Классы

Записи

структуры

перечисления

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

Аббревиаций типов

Единицы измерения
Используется для объявления класса, записи, структуры, дискриминированного объединения, типа перечисления, единицы измерения или сокращения типов.
upcast Приведение и преобразование Используется для преобразования в тип, который выше в цепочке наследования.
use Управление ресурсами: ключевое use слово Используется вместо значений let , которые требуют Dispose вызова к бесплатным ресурсам.
use! Выражения вычислений

Асинхронные выражения

выражения задач
Используется вместо let! асинхронных выражений и других вычислительных выражений для значений, которые требуют Dispose вызова к свободным ресурсам.
val Явные поля: ключевое val слово

Signatures

Участники
Используется в сигнатуре для указания значения или типа для объявления члена в ограниченных ситуациях.
void Примитивные типы Указывает тип .NET void . Используется при взаимодействии с другими языками .NET.
when Ограничения Используется для логических условий (когда охранники) в совпадениях шаблонов и вводит предложение ограничения для параметра универсального типа.
while Циклы: while...do выражение Представляет конструкцию циклического цикла.
with выражения для сопоставления

Выражения объектов

Копирование и обновление выражений записей

Расширения типов

Исключения: try...with выражение

Интерфейсы

Свойства
Используется вместе с ключевым словом match в выражениях сопоставления шаблонов. Кроме того, используется в выражениях объектов, записях выражений копирования, расширений типов для введения определений элементов, обработчиков исключений, реализаций интерфейса и объявлений свойств с явными средствами получения и заданиями.
yield Списки, массивы, последовательности Используется в выражении списка, массива или последовательности для создания значения для последовательности. Как правило, может быть опущено, так как в большинстве случаев это неявно.
yield! Выражения вычислений

Асинхронные выражения

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

Следующие маркеры зарезервированы в F#, так как они являются ключевыми словами на языке OCaml:

  • asr
  • land
  • lor
  • lsl
  • lsr
  • lxor
  • mod
  • sig

Если вы используете параметр компилятора, указанные --mlcompatibility выше ключевые слова доступны для использования в качестве идентификаторов.

Следующие маркеры зарезервированы в качестве ключевых слов для дальнейшего расширения F#:

  • break
  • checked
  • component
  • const
  • constraint
  • continue
  • event
  • external
  • include
  • mixin
  • parallel
  • process
  • protected
  • pure
  • sealed
  • tailcall
  • trait
  • virtual

Следующие маркеры были зарезервированы как ключевые слова, но были выпущены в F# 4.1, поэтому теперь их можно использовать в качестве идентификаторов:

Ключевое слово Причина
method Используйте member для внедрения методов.
constructor Используется new для внедрения конструкторов.
atomic Связанные с фад для транзакционной памяти около 2006 года. Теперь это будет определяемое библиотекой выражение вычислений.
eager Больше не требуется; изначально он был разработан, чтобы соответствовать let eager потенциалу let lazy.
object Не нужно резервировать это.
recursive Используйте rec.
functor Если F# добавил параметризованные модули, вы бы использовали module M(args) = ....
measure Атрибут [<Measure>] достаточно.
volatile Атрибут [<Volatile>] достаточно.

См. также