キーワード リファレンス (F#)

このトピックでは、F# 言語のすべてのキーワードに関する情報へのリンクを示します。

F# のキーワードの表

次の表は、F# のすべてのキーワードをアルファベット順にまとめたものです。簡単な説明のほか、詳細が記載されている関連トピックへのリンクも示しています。

Keyword

Link

Description

abstract

メンバー (F#)

抽象クラス (F#)

宣言された型に実装がないメソッド、または既定の実装がある仮想のメソッドを示します。

and

let 束縛 (F#)

メンバー (F#)

制約 (F#)

相互再帰的束縛やプロパティ宣言で使用します。また、ジェネリック パラメーターに対する複数の制約で使用します。

as

クラス (F#)

パターン マッチ (F#)

現在のクラス オブジェクトにオブジェクト名を付けるために使用します。また、パターン一致内のパターン全体に名前を付ける場合にも使用します。

assert

アサーション (F#)

デバッグ時にコードを検証するために使用します。

base

クラス (F#)

継承 (F#)

基本クラス オブジェクトの名前として使用します。

begin

冗語構文 (F#)

冗語構文で、コード ブロックの先頭を示します。

class

クラス (F#)

冗語構文で、クラス定義の先頭を示します。

default

メンバー (F#)

抽象メソッドの実装を示します。仮想メソッドを作成するために抽象メソッドの宣言と一緒に使用します。

delegate

デリゲート (F#)

デリゲートを宣言します。

do

do 束縛 (F#)

ループ: for...to 式 (F#)

ループ: for...in 式 (F#)

ループ: while...do 式 (F#)

ループ構造で命令型コードを実行するために使用します。

done

冗語構文 (F#)

冗語構文で、ループの式のコード ブロックの末尾を示します。

downcast

キャストと変換 (F#)

継承チェーンの下位の型に変換するために使用します。

downto

ループ: for...to 式 (F#)

for 式で、カウントを逆にする場合に使用します。

elif

条件式: if... then...else (F#)

条件分岐で使用します。else if の省略形です。

else

条件式: if... then...else (F#)

条件分岐で使用します。

end

構造体 (F#)

判別共用体 (F#)

レコード (F#)

型拡張 (F#)

冗語構文 (F#)

型定義や型拡張で、メンバー定義のセクションの末尾を示します。

冗語構文では、begin キーワードで始まるコード ブロックの末尾を示すために使用します。

exception

例外処理 (F#)

例外の種類 (F#)

例外の種類を宣言するために使用します。

extern

外部関数 (F#)

宣言されたプログラム要素が別のバイナリまたはアセンブリで定義されていることを示します。

false

プリミティブ型 (F#)

Boolean リテラルとして使用します。

finally

例外: try...finally 式 (F#)

例外が発生したかどうかに関係なく実行されるコード ブロックを開始するために、try と一緒に使用します。

for

ループ: for...to 式 (F#)

ループ: for...in 式 (F#)

ループ構造で使用します。

fun

ラムダ式: fun キーワード (F#)

ラムダ式 (匿名関数) で使用します。

function

match 式 (F#)

ラムダ式: fun キーワード (F#)

1 つの引数に対するパターン マッチを持つラムダ式で fun キーワードと match 式の代わりに省略形として使用します。

global

名前空間 (F#)

最上位の .NET 名前空間の参照に使用します。

if

条件式: if... then...else (F#)

条件分岐構造で使用します。

in

ループ: for...in 式 (F#)

冗語構文 (F#)

冗語構文で、式を束縛から分離するためにシーケンス式に使用します。

inherit

継承 (F#)

基本クラスや基本インターフェイスを指定するために使用します。

inline

関数 (F#)

インライン関数 (F#)

呼び出し元のコードに直接統合される関数を示すために使用します。

interface

インターフェイス (F#)

インターフェイスを宣言および実装するために使用します。

internal

アクセス制御 (F#)

メンバーがアセンブリ内でのみ参照可能であり、外部からは参照できないことを指定するために使用します。

lazy

遅延計算 (F#)

結果が必要な場合にのみ実行する計算を指定するために使用します。

let

let 束縛 (F#)

名前を値または関数に関連付ける (バインドする) ために使用します。

let!

非同期ワークフロー

コンピュテーション式

非同期計算の結果に名前を非同期ワークフローで使用したり計算の型が結果に名前をバインドするには他のコンピュテーション式で使用されるバインドできます。

match

match 式 (F#)

値をパターンと比較して分岐するために使用します。

member

メンバー (F#)

オブジェクト型でプロパティまたはメソッドを宣言するために使用します。

module

モジュール (F#)

関連する型、値、および関数のグループに名前を関連付けて、そのグループを他のコードから論理的に分離するために使用します。

mutable

let 束縛 (F#)

変数、つまり変更できる値を宣言するために使用します。

namespace

名前空間 (F#)

関連する型とモジュールのグループに名前を関連付けて、そのグループを他のコードから論理的に分離するために使用します。

new

コンストラクター (F#)

制約 (F#)

オブジェクトを作成する、または作成できるコンストラクターの宣言、定義、または呼び出しに使用します。

また、ジェネリック パラメーターの制約で、型が特定のコンストラクターを持つ必要があることを示すために使用します。

not

シンボルと演算子のリファレンス (F#)

制約 (F#)

実際にはキーワードではありませんが、not struct という組み合わせでジェネリック パラメーターの制約として使用します。

null

null 値 (F#)

制約 (F#)

オブジェクトがないことを示します。

ジェネリック パラメーターの制約でも使用します。

of

判別共用体 (F#)

デリゲート (F#)

例外の種類 (F#)

判別共用体で、値のカテゴリの種類を示すために使用します。デリゲートや例外の宣言でも使用します。

open

インポート宣言: open キーワード (F#)

名前空間またはモジュールの内容を修飾なしで使用できるようにするために使用します。

or

シンボルと演算子のリファレンス (F#)

制約 (F#)

ブール条件でブール型の or 演算子として使用します。|| と同じ意味です。

メンバー制約でも使用します。

override

メンバー (F#)

基本バージョンとは異なるバージョンの抽象メソッドまたは仮想メソッドを実装するために使用します。

private

アクセス制御 (F#)

メンバーへのアクセスを同じ型またはモジュールのコードのみに制限します。

public

アクセス制御 (F#)

型の外部からのメンバーへのアクセスを許可します。

rec

関数 (F#)

関数が再帰関数であることを示すために使用します。

return

非同期ワークフロー (F#)

コンピュテーション式 (F#)

コンピュテーション式の結果として提供する値を示すために使用します。

return!

コンピュテーション式

非同期ワークフロー

評価されたとき含むコンピュテーション式の結果を提供するコンピュテーション式を示すために使用します。

select

クエリ式 (F#)

どのフィールドまたは列を抽出するに指定するにはクエリ式で使用されます。それが実際に予約語ではなく適切なコンテキスト キーワードの場合にのみ機能するようにコンテキスト キーワードであるつまりことに注意してください。

static

メンバー (F#)

型のインスタンスなしで呼び出すことができるメソッドやプロパティ、または型のすべてのインスタンスで共有される値メンバーを示すために使用します。

struct

構造体 (F#)

制約 (F#)

構造体型を宣言するために使用します。

ジェネリック パラメーターの制約でも使用します。

OCaml との互換性のためにモジュール定義で使用します。

then

条件式: if... then...else (F#)

コンストラクター (F#)

条件式で使用します。

また、オブジェクトの構築後に副作用を実行するために使用します。

to

ループ: for...to 式 (F#)

for ループで範囲を示すために使用します。

true

プリミティブ型 (F#)

Boolean リテラルとして使用します。

try

例外: try...with 式 (F#)

例外: try...finally 式 (F#)

例外を生成する可能性があるコード ブロックを開始するために使用します。with または finally と一緒に使用します。

type

F# の型

クラス (F#)

レコード (F#)

構造体 (F#)

列挙型 (F#)

判別共用体 (F#)

型略称 (F#)

測定単位 (F#)

クラス、レコード、構造体、判別共用体、列挙型、測定単位、または型略称を宣言するために使用します。

upcast

キャストと変換 (F#)

継承チェーンの上位の型に変換するために使用します。

use

リソースの管理: use キーワード (F#)

Dispose を呼び出してリソースを解放する必要がある値に対して、let の代わりに使用します。

use!

コンピュテーション式

非同期ワークフロー

リソースを解放するために Dispose を呼び出す必要の値と非同期ワークフローなどのコンピュテーション式で let! の代わりに使用されます。

val

明示的なフィールド: val キーワード (F#)

シグネチャ (F#)

メンバー (F#)

限られた状況で、シグネチャで値を示したり、型でメンバーを宣言したりするために使用します。

void

プリミティブ型 (F#)

.NET の void 型を示します。他の .NET 言語と相互運用する場合に使用します。

when

制約 (F#)

パターン一致のブール条件 (when ガード) で、ジェネリック型パラメーターの制約句を開始するために使用します。

while

ループ: while...do 式 (F#)

ループ構造を開始します。

with

match 式 (F#)

オブジェクト式 (F#)

型拡張 (F#)

例外: try...with 式 (F#)

パターン マッチ式で match キーワードと一緒に使用します。また、オブジェクト式、レコードのコピー式、および型拡張でメンバー定義を開始したり、例外ハンドラーを開始したりする場合にも使用します。

yield

シーケンス (F#)

シーケンス式で、シーケンスの値を生成するために使用します。

yield!

コンピュテーション式

非同期ワークフロー

含むコンピュテーション式の結果コレクションに特定のコンピュテーション式の結果を追加するにはコンピュテーション式で使用します。

さらに、F# では次のトークンが予約されています。これらは OCaml 言語のキーワードです。

asr

land

lor

lsl

lsr

lxor

mod

sig

--mlcompatibility コンパイラ オプションを使用する場合は、これらのキーワードを識別子として使用できます。

次のトークンは、F# 言語の将来の拡張に備えてキーワードとして予約されています。

atomic

break

checked

component

const

constraint

constructor

continue

eager

event

external

fixed

functor

include

method

mixin

object

parallel

process

protected

pure

sealed

tailcall

trait

virtual

volatile

参照

関連項目

シンボルと演算子のリファレンス (F#)

その他の技術情報

F# 言語リファレンス

コンパイラ オプション (F#)