キーワード リファレンス
このトピックでは、F# 言語のすべてのキーワードに関する情報へのリンクを示します。
F# キーワード テーブル
次の表では、F# のすべてのキーワードを、簡単な説明および詳細情報が記載されている関連トピックへのリンクと共に、アルファベット順に示します。
キーワード | Link | 説明 |
---|---|---|
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 キーワード |
単一の引数でパターン マッチングを持つラムダ式で 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 |
例外: try...with 式 例外: try...finally 式 |
例外を生成する可能性があるコード ブロックを開始するために使用します。 with または finally と一緒に使用します。 |
type |
F# の型 クラス レコード 構造体 列挙型 判別共用体 型略称 測定単位 |
クラス、レコード、構造体、判別された共同体、列挙型、数量単位、型の省略形の宣言に使用します。 |
upcast |
キャストと変換 | 継承チェーン内の上位の型に変換するために使用します。 |
use |
リソースの管理: use キーワード |
リソースを解放するために Dispose を呼び出す必要がある値に対して、let の代わりに使用されます。 |
use! |
コンピュテーション式 非同期式 タスク式 |
非同期式や他のコンピュテーション式で、リソースを解放するために Dispose を呼び出す必要がある値に対して、let! の代わりに使用されます。 |
val |
明示的なフィールド: val キーワードシグネチャ [メンバー] |
限定された状態において、シグネチャで値を示したり、型でメンバーを宣言したりするために使用されます。 |
void |
プリミティブ型 | .NET の void 型を示します。 他の .NET 言語と相互運用するときに使用します。 |
when |
制約 | パターン マッチでのブール条件 ("when ガード") で、ジェネリック型パラメーターの制約句を開始するために使用します。 |
while |
ループ: while...do 式 |
ループ コンストラクトを導入します。 |
with |
match 式 オブジェクト式 レコード式のコピーと更新 型拡張 例外: try...with 式 |
パターン マッチング式で match キーワードを指定して使用します。 メンバー定義と例外ハンドラーを導入するため、オブジェクト式、レコード コピー式、および型拡張でも使用します。 |
yield |
リスト、配列、シーケンス | リスト、配列、シーケンス式でシーケンスの値を生成します。 ほとんどの状況で暗黙的に使用されるため、通常は省略できます。 |
yield! |
コンピュテーション式 非同期式 タスク式 |
コンピュテーション式で、コンピュテーション式を含む結果のコレクションにそのコンピュテーション式の結果を追加します。 |
const |
型プロバイダー | 型プロバイダーでは、定数リテラルを型パラメーター引数として指定するキーワードとして const を使用できます。 |
次のトークンは、OCaml 言語のキーワードであるため、F# で予約されています。
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 lazy に合わせて let eager と設計されました。 |
object |
これを予約する必要はありません。 |
recursive |
rec を使用してください。 |
functor |
F# でパラメーター化されたモジュールが追加された場合は、module M(args) = ... を使用します。 |
measure |
[<Measure>] 属性で十分です。 |
volatile |
[<Volatile>] 属性で十分です。 |
関連項目
GitHub で Microsoft と共同作業する
このコンテンツのソースは GitHub にあります。そこで、issue や pull request を作成および確認することもできます。 詳細については、共同作成者ガイドを参照してください。
.NET