キーワード リファレンス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 詳細な構文では、コード ブロックの開始を示します。In verbose syntax, indicates the start of a code block.
class クラスClasses 詳細な構文では、クラス定義の開始を示します。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 if.A 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.

詳細な構文では、キーワードで始まるコード ブロックの末尾を指定するために使用しますbeginIn 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一の引数でパターン一致を持つラムダ式の式。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. または とwithfinally緒に使用します。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 .NETvoidの種類を示します。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.

次のトークンは、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を使用する場合、上記のキーワードを ID として使用できます。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