Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этом разделе содержатся ссылки на сведения обо всех ключевых словах языка 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:
asrlandlorlsllsrlxormodsig
Если вы используете параметр компилятора, указанные --mlcompatibility выше ключевые слова доступны для использования в качестве идентификаторов.
Следующие маркеры зарезервированы в качестве ключевых слов для дальнейшего расширения F#:
breakcheckedcomponentconstconstraintcontinueeventexternalincludemixinparallelprocessprotectedpuresealedtailcalltraitvirtual
Следующие маркеры были зарезервированы как ключевые слова, но были выпущены в 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>] достаточно. |
См. также
- Справочник по языку F#
- Справочник по символам и операторам
- Параметры компилятора