キーワード リファレンスKeyword Reference

このトピックには、すべての F # 言語キーワードに関する情報へのリンクが含まれています。This topic contains links to information about all F# language keywords.

F # キーワードテーブルF# Keyword Table

次の表に、すべての F # キーワードをアルファベット順に示します。簡単な説明と、詳細情報が記載されている関連トピックへのリンクを示します。The following table shows all F# keywords in alphabetical order, together with brief descriptions and links to relevant topics that contain more information.

KeywordKeyword LinkLink 説明Description
abstract [メンバー]Members

抽象クラスAbstract Classes
宣言されている型に実装が存在しないか、または仮想であり、既定のが実装されているメソッドを示します。Indicates a method that either has no implementation in the type in which it is declared or that is virtual and has a default implementation.
and let 現存let Bindings

レコードRecords

[メンバー]Members

制約Constraints
相互に再帰的なバインドとレコード、プロパティ宣言、およびジェネリックパラメーターに対する複数の制約を使用して使用されます。Used in mutually recursive bindings and records, in property declarations, and with multiple constraints on generic parameters.
as クラスClasses

パターン一致Pattern Matching
現在のクラスオブジェクトにオブジェクト名を指定するために使用します。Used to give the current class object an object name. パターン一致でパターン全体に名前を付けるためにも使用されます。Also used to give a name to a whole pattern within a pattern match.
assert アサーションAssertions デバッグ中にコードを検証するために使用されます。Used to verify code during debugging.
base クラスClasses

継承Inheritance
基底クラスオブジェクトの名前として使用されます。Used as the name of the base class object.
begin 冗語構文Verbose Syntax Verbose 構文では、コードブロックの開始を示します。In verbose syntax, indicates the start of a code block.
class クラスClasses Verbose 構文では、クラス定義の開始を示します。In verbose syntax, indicates the start of a class definition.
default [メンバー]Members 抽象メソッドの実装を示します。仮想メソッドを作成するために、抽象メソッドの宣言と共に使用されます。Indicates an implementation of an abstract method; used together with an abstract method declaration to create a virtual method.
delegate デリゲートDelegates デリゲートの宣言に使用します。Used to declare a delegate.
do do 束縛do Bindings

ループ: for...toLoops: for...to Expression

ループ: for...inLoops: for...in Expression

ループ: while...doLoops: while...do Expression
ループ構造または命令型コードの実行に使用されます。Used in looping constructs or to execute imperative code.
done 冗語構文Verbose Syntax 詳細な構文では、ループ式のコードブロックの末尾を示します。In verbose syntax, indicates the end of a block of code in a looping expression.
downcast キャストと変換Casting and Conversions 継承チェーンの下位にある型に変換するために使用します。Used to convert to a type that is lower in the inheritance chain.
downto ループ: for...toLoops: for...to Expression 式で for 、逆にカウントするときに使用します。In a for expression, used when counting in reverse.
elif 条件式: if...then...elseConditional Expressions: if...then...else 条件分岐で使用されます。Used in conditional branching. の短縮形 else ifA short form of else if.
else 条件式: if...then...elseConditional Expressions: if...then...else 条件分岐で使用されます。Used in conditional branching.
end 構造体Structures

判別共用体Discriminated Unions

レコードRecords

型拡張Type Extensions

冗語構文Verbose Syntax
型定義と型拡張機能では、メンバー定義のセクションの末尾を示します。In type definitions and type extensions, indicates the end of a section of member definitions.

Verbose 構文で、キーワードで始まるコードブロックの末尾を指定するために使用され begin ます。In verbose syntax, used to specify the end of a code block that starts with the begin keyword.
exception 例外処理Exception Handling

例外の種類Exception Types
例外の種類を宣言するために使用します。Used to declare an exception type.
extern 外部関数External Functions 宣言されたプログラム要素が別のバイナリまたはアセンブリで定義されていることを示します。Indicates that a declared program element is defined in another binary or assembly.
false プリミティブ型Primitive Types ブール型のリテラルとして使用されます。Used as a Boolean literal.
finally 例外: try...finallyExceptions: The try...finally Expression と共に使用して、 try 例外が発生したかどうかに関係なく実行されるコードのブロックを導入します。Used together with try to introduce a block of code that executes regardless of whether an exception occurs.
fixed 固定Fixed ガベージコレクションが行われないように、スタックにポインターを "ピン留め" するために使用されます。Used to "pin" a pointer on the stack to prevent it from being garbage collected.
for ループ: for...toLoops: for...to Expression

ループ: for...in 式Loops: for...in Expression
ループ構造で使用されます。Used in looping constructs.
fun ラムダ式: fun キーワードLambda Expressions: The fun Keyword ラムダ式で使用されます。匿名関数とも呼ばれます。Used in lambda expressions, also known as anonymous functions.
function match 式Match Expressions

ラムダ式: 楽しいキーワードLambda Expressions: The fun Keyword
funキーワードと、 match 1 つの引数にパターンマッチングがあるラムダ式内の式の代わりに、より短い代替として使用されます。Used as a shorter alternative to the fun keyword and a match expression in a lambda expression that has pattern matching on a single argument.
global 名前空間Namespaces 最上位レベルの .NET 名前空間を参照するために使用されます。Used to reference the top-level .NET namespace.
if 条件式: if...then...elseConditional Expressions: if...then...else 条件分岐構造で使用されます。Used in conditional branching constructs.
in ループ: for...in 式Loops: for...in Expression

冗語構文Verbose Syntax
バインドから式を分離するために、シーケンス式および詳細構文で使用されます。Used for sequence expressions and, in verbose syntax, to separate expressions from bindings.
inherit 継承Inheritance 基底クラスまたは基本インターフェイスを指定するために使用します。Used to specify a base class or base interface.
inline 関数Functions

インライン関数Inline Functions
呼び出し元のコードに直接統合する必要がある関数を示すために使用されます。Used to indicate a function that should be integrated directly into the caller's code.
interface インターフェイスInterfaces インターフェイスの宣言と実装に使用されます。Used to declare and implement interfaces.
internal アクセス制御Access Control メンバーがアセンブリ内に表示されているが、外部では参照できないことを指定するために使用します。Used to specify that a member is visible inside an assembly but not outside it.
lazy 遅延式Lazy Expressions 結果が必要な場合にのみ実行される式を指定するために使用します。Used to specify an expression that is to be performed only when a result is needed.
let let 現存let Bindings 値または関数に名前を関連付ける、またはバインドするために使用されます。Used to associate, or bind, a name to a value or function.
let! 非同期ワークフローAsynchronous Workflows

コンピュテーション式Computation Expressions
非同期ワークフローで名前を非同期計算の結果にバインドするために、または計算型の結果に名前をバインドするために使用されるその他の計算式で使用されます。Used in asynchronous workflows to bind a name to the result of an asynchronous computation, or, in other computation expressions, used to bind a name to a result, which is of the computation type.
match match 式Match Expressions 値をパターンと比較することによって分岐するために使用されます。Used to branch by comparing a value to a pattern.
match! コンピュテーション式Computation Expressions コンピュテーション式への呼び出しと、その結果に一致するパターンをインライン化するために使用されます。Used to inline a call to a computation expression and pattern match on its result.
member [メンバー]Members オブジェクト型のプロパティまたはメソッドを宣言するために使用します。Used to declare a property or method in an object type.
module モジュールModules 名前を関連する型、値、および関数のグループに関連付けて、他のコードと論理的に分離するために使用されます。Used to associate a name with a group of related types, values, and functions, to logically separate it from other code.
mutable let 束縛let Bindings 変数、つまり変更可能な値を宣言するために使用されます。Used to declare a variable, that is, a value that can be changed.
namespace 名前空間Namespaces 名前を関連する型およびモジュールのグループに関連付けて、他のコードから論理的に分離するために使用されます。Used to associate a name with a group of related types and modules, to logically separate it from other code.
new コンストラクターConstructors

制約Constraints
を作成するか、オブジェクトを作成できるコンストラクターを宣言、定義、または呼び出すために使用します。Used to declare, define, or invoke a constructor that creates or that can create an object.

ジェネリックパラメーター制約でも、型が特定のコンストラクターを持つ必要があることを示すために使用されます。Also used in generic parameter constraints to indicate that a type must have a certain constructor.
not シンボルと演算子のリファレンスSymbol and Operator Reference

制約Constraints
実際にはキーワードではありません。Not actually a keyword. ただし、 not struct の組み合わせは、ジェネリックパラメーターの制約として使用されます。However, not struct in combination is used as a generic parameter constraint.
null Null 値Null Values

制約Constraints
オブジェクトが存在しないことを示します。Indicates the absence of an object.

ジェネリックパラメーター制約でも使用されます。Also used in generic parameter constraints.
of 判別共用体Discriminated Unions

デリゲートDelegates

例外の種類Exception Types
判別共用体で、値のカテゴリの型、およびデリゲートおよび例外の宣言を示すために使用されます。Used in discriminated unions to indicate the type of categories of values, and in delegate and exception declarations.
open インポート宣言: open キーワードImport Declarations: The open Keyword 名前空間またはモジュールの内容を修飾なしで使用できるようにするために使用します。Used to make the contents of a namespace or module available without qualification.
or シンボルと演算子のリファレンスSymbol and Operator Reference

制約Constraints
ブール値演算子としてブール条件と共に使用され or ます。Used with Boolean conditions as a Boolean or operator. これは、|| に相当します。Equivalent to ||.

メンバーの制約でも使用されます。Also used in member constraints.
override [メンバー]Members 基本バージョンとは異なる抽象メソッドまたは仮想メソッドのバージョンを実装するために使用されます。Used to implement a version of an abstract or virtual method that differs from the base version.
private アクセス制御Access Control メンバーへのアクセスを、同じ型またはモジュール内のコードに限定します。Restricts access to a member to code in the same type or module.
public アクセス制御Access Control 型の外部からメンバーにアクセスできるようにします。Allows access to a member from outside the type.
rec 関数Functions 関数が再帰的であることを示すために使用されます。Used to indicate that a function is recursive.
return 非同期ワークフローAsynchronous Workflows

コンピュテーション式Computation Expressions
コンピュテーション式の結果として指定する値を示すために使用します。Used to indicate a value to provide as the result of a computation expression.
return! コンピュテーション式Computation Expressions

非同期ワークフローAsynchronous Workflows
評価時に、含んでいるコンピュテーション式の結果を提供するコンピュテーション式を示すために使用されます。Used to indicate a computation expression that, when evaluated, provides the result of the containing computation expression.
select クエリ式Query Expressions クエリ式で、抽出するフィールドまたは列を指定するために使用されます。Used in query expressions to specify what fields or columns to extract. これはコンテキストキーワードであることに注意してください。これは、実際には予約語ではなく、適切なコンテキストでキーワードと同じように動作することを意味します。Note that this is a contextual keyword, which means that it is not actually a reserved word and it only acts like a keyword in appropriate context.
static [メンバー]Members 型のインスタンスを使用せずに呼び出すことができるメソッドまたはプロパティ、または型のすべてのインスタンス間で共有される値メンバーを示すために使用されます。Used to indicate a method or property that can be called without an instance of a type, or a value member that is shared among all instances of a type.
struct 構造体Structures

タプルTuples

制約Constraints
構造体型を宣言するために使用されます。Used to declare a structure type.

構造体のタプルを指定するために使用します。Used to specify a struct tuple.

ジェネリックパラメーター制約でも使用されます。Also used in generic parameter constraints.

モジュール定義での OCaml の互換性のために使用されます。Used for OCaml compatibility in module definitions.
then 条件式: if...then...elseConditional Expressions: if...then...else

コンストラクターConstructors
条件式で使用されます。Used in conditional expressions.

オブジェクトの構築後に副作用を実行するためにも使用されます。Also used to perform side effects after object construction.
to ループ: for...toLoops: for...to Expression ループで for 範囲を示すために使用されます。Used in for loops to indicate a range.
true プリミティブ型Primitive Types ブール型のリテラルとして使用されます。Used as a Boolean literal.
try 例外: try...with 式Exceptions: The try...with Expression

例外: try...finally 式Exceptions: The try...finally Expression
例外を生成する可能性のあるコードブロックを導入するために使用されます。Used to introduce a block of code that might generate an exception. またはと共に使用 with finally します。Used together with with or finally.
type F# の型F# Types

クラスClasses

レコードRecords

構造体Structures

列挙型Enumerations

判別共用体Discriminated Unions

型略称Type Abbreviations

測定単位Units of Measure
クラス、レコード、構造体、判別共用体、列挙型、測定単位、または型略称を宣言するために使用されます。Used to declare a class, record, structure, discriminated union, enumeration type, unit of measure, or type abbreviation.
upcast キャストと変換Casting and Conversions 継承チェーンの上位にある型に変換するために使用します。Used to convert to a type that is higher in the inheritance chain.
use リソースの管理: use キーワードResource Management: The use Keyword let Dispose リソースを解放するためにを呼び出す必要がある値に対して、の代わりに使用されます。Used instead of let for values that require Dispose to be called to free resources.
use! コンピュテーション式Computation Expressions

非同期ワークフローAsynchronous Workflows
let!非同期ワークフローや、リソースを解放するために呼び出す必要がある値に対して、の代わりに使用され Dispose ます。Used instead of let! in asynchronous workflows and other computation expressions for values that require Dispose to be called to free resources.
val 明示的なフィールド: val キーワードExplicit Fields: The val Keyword

シグネチャSignatures

[メンバー]Members
制限された状況で、値を示すため、または型でメンバーを宣言するために、シグネチャで使用されます。Used in a signature to indicate a value, or in a type to declare a member, in limited situations.
void プリミティブ型Primitive Types .NET 型を示し void ます。Indicates the .NET void type. 他の .NET 言語と相互運用するときに使用します。Used when interoperating with other .NET languages.
when 制約Constraints パターンに一致する場合、ブール条件 (場合によっては) に使用され、ジェネリック型パラメーターの制約句を導入します。Used for Boolean conditions (when guards) on pattern matches and to introduce a constraint clause for a generic type parameter.
while ループ: while...doLoops: while...do Expression では、ループ構造が導入されています。Introduces a looping construct.
with match 式Match Expressions

オブジェクト式Object Expressions

レコード式のコピーと更新Copy and Update Record Expressions

型拡張Type Extensions

例外: try...withExceptions: The try...with Expression
パターン一致式でキーワードと共に使用され match ます。Used together with the match keyword in pattern matching expressions. オブジェクト式、レコードコピー式、および型拡張でも使用され、メンバー定義を導入したり、例外ハンドラーを導入したりします。Also used in object expressions, record copying expressions, and type extensions to introduce member definitions, and to introduce exception handlers.
yield リスト配列シーケンスLists, Arrays, Sequences シーケンスの値を生成するために、リスト、配列、またはシーケンス式で使用されます。Used in a list, array, or sequence expression to produce a value for a sequence. 通常は、ほとんどの状況で暗黙的に使用されるため、を省略できます。Typically can be omitted, as it is implicit in most situations.
yield! コンピュテーション式Computation Expressions

非同期ワークフローAsynchronous Workflows
コンピュテーション式で使用され、指定されたコンピュテーション式の結果を、それを含むコンピュテーション式の結果のコレクションに追加します。Used in a computation expression to append the result of a given computation expression to a collection of results for the containing computation expression.
const 型プロバイダーType Providers 型プロバイダーを使用すると、 const 定数リテラルを型パラメーターの引数として指定するために、キーワードとしてを使用できます。Type Providers allow the use of const as a keyword to specify a constant literal as a type parameter argument.

次のトークンは、OCaml 言語のキーワードであるため、F # で予約されています。The following tokens are reserved in F# because they are keywords in the OCaml language:

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

コンパイラオプションを使用する場合 --mlcompatibility 、上記のキーワードを識別子として使用できます。If you use the --mlcompatibility compiler option, the above keywords are available for use as identifiers.

次のトークンは、F # 言語の将来の拡張のためにキーワードとして予約されています。The following tokens are reserved as keywords for future expansion of the F# language:

  • atomic
  • break
  • checked
  • component
  • const
  • constraint
  • constructor
  • continue
  • eager
  • event
  • external
  • functor
  • include
  • method
  • mixin
  • object
  • parallel
  • process
  • protected
  • pure
  • sealed
  • tailcall
  • trait
  • virtual
  • volatile

関連項目See also