Справочные сведения о ключевых словах
В этом разделе содержатся ссылки на сведения обо всех ключевое слово языка F#.
Таблица ключевых слов F#
В следующей таблице показаны все ключевое слово F# в алфавитном порядке, а также краткие описания и ссылки на соответствующие разделы, содержащие дополнительные сведения.
Ключевое слово | Установить связь | Description |
---|---|---|
abstract |
Участники Абстрактные классы |
Указывает метод, который либо не имеет реализации в типе, в котором он объявлен или является виртуальным, и имеет реализацию по умолчанию. |
and |
let ПривязкиЗаписи Участники Ограничения |
Используется в рекурсивных привязках и записях, в объявлениях свойств и с несколькими ограничениями на универсальные параметры. |
as |
Классы Соответствие шаблону |
Используется для предоставления текущего объекта класса имени объекта. Также используется для присвоения имени целому шаблону в соответствии с шаблоном. |
assert |
Утверждения | Используется для проверки кода во время отладки. |
base |
Классы Наследование |
Используется в качестве имени объекта базового класса. |
begin |
Подробный синтаксис | В подробном синтаксисе указывает начало блока кода. |
class |
Классы | В подробном синтаксисе указывает начало определения класса. |
default |
Участники | Указывает реализацию абстрактного метода; используется вместе с объявлением абстрактного метода для создания виртуального метода. |
delegate |
Делегаты | Используется для объявления делегата. |
do |
Привязки do Циклы: выражение 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 Циклы: выражение for...in |
Используется в конструкциях циклического цикла. |
fun |
Лямбда-выражения: ключевое fun слово |
Используется в лямбда-выражениях, также известных как анонимные функции. |
function |
Выражения match Лямбда-выражения: веселое ключевое слово |
Используется в качестве более короткой альтернативы fun ключевое слово и match выражению в лямбда-выражении, которое соответствует шаблону для одного аргумента. |
global |
Пространства имен | Используется для ссылки на пространство имен .NET верхнего уровня. |
if |
Условные выражения: if...then...else |
Используется в конструкциях условной ветвления. |
in |
Циклы: выражение for...in Подробный синтаксис |
Используется для выражений последовательности и в подробном синтаксисе для разделения выражений от привязок. |
inherit |
Наследование | Используется для указания базового класса или базового интерфейса. |
inline |
Функции Встраиваемые функции |
Используется для указания функции, которая должна быть интегрирована непосредственно в код вызывающего средства. |
interface |
Интерфейсы | Используется для объявления и реализации интерфейсов. |
internal |
Контроль доступа | Используется для указания того, что элемент отображается внутри сборки, но не за ее пределами. |
lazy |
Отложенные выражения | Используется для указания выражения, выполняемого только в том случае, если требуется результат. |
let |
let Привязки |
Используется для связывания или привязки имени к значению или функции. |
let! |
Асинхронные выражения Выражения задач Выражения вычисления |
Используется в асинхронных выражениях для привязки имени к результату асинхронного вычисления или в других выражениях вычислений, используемых для привязки имени к результату, который является типом вычисления. |
match |
Выражения match | Используется для ветвления путем сравнения значения с шаблоном. |
match! |
Выражения вычисления | Используется для встроенного вызова выражения вычислений и сопоставления шаблонов в результатах. |
member |
Участники | Используется для объявления свойства или метода в типе объекта. |
module |
Модули | Используется для связывания имени с группой связанных типов, значений и функций для логического разделения его от другого кода. |
mutable |
Привязки let | Используется для объявления переменной, то есть значения, которое можно изменить. |
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 Сигнатуры Участники |
Используется в сигнатуре для указания значения или типа для объявления члена в ограниченных ситуациях. |
void |
Типы-примитивы | Указывает тип .NET void . Используется при взаимодействии с другими языками .NET. |
when |
Ограничения | Используется для логических условий (когда охранники) в совпадениях шаблонов и вводит предложение ограничения для параметра универсального типа. |
while |
Циклы: выражение while...do |
Представляет конструкцию циклического цикла. |
with |
Выражения match Выражения объекта Копирование и обновление выражений записей Расширения типов Исключения: выражение 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>] достаточно. |