次の方法で共有


F# 言語リファレンス

このセクションは、.NET を対象とするマルチパラダイム プログラミング言語である F# のリファレンスです。 F# では、関数型、オブジェクト指向型、命令型プログラミング モデルがサポートされています。

F# コードの整理

次の表に、F# コードの整理に関連するリファレンス記事を示します。

タイトル 説明
名前空間 F# での名前空間のサポートについて説明します。 名前空間を使用すると、プログラム要素のグループに名前をアタッチできるようにすることで、関連する機能の領域にコードを整理できます。
モジュール モジュールについて説明します。 F# モジュールは名前空間のようなもので、値と関数を含めることもできます。 モジュール内のコードをグループ化すると、関連するコードを一緒に保持し、プログラムでの名前の競合を回避できます。
open 宣言 openのしくみについて説明します。 open宣言は、完全修飾名を使用せずに参照できる要素を持つモジュール、名前空間、または型を指定します。
Signatures 署名と署名ファイルについて説明します。 シグネチャ ファイルには、型、名前空間、モジュールなど、一連の F# プログラム要素のパブリック署名に関する情報が含まれています。 これらのプログラム要素のアクセシビリティを指定するために使用できます。
アクセス制御 F# でのアクセス制御について説明します。 アクセス制御とは、型、メソッド、関数など、特定のプログラム要素を使用できるクライアントを宣言することを意味します。
XML ドキュメント XML ドキュメント コメント (トリプル スラッシュ コメントとも呼ばれます) からドキュメント ファイルを生成するためのサポートについて説明します。 他の .NET 言語と同様に、F# のコード コメントからドキュメントを作成できます。

リテラルと文字列

次の表に、F# のリテラルと文字列について説明するリファレンス記事を示します。

タイトル 説明
リテラル F# のリテラル値の構文と、F# リテラルの型情報を指定する方法について説明します。
文字列 F# の文字列について説明します。 string型は、Unicode 文字のシーケンスとして、変更できないテキストを表します。 string は .NET の System.String の別名です。
補間された文字列 挿入文字列について説明します。これは、F# 式をその内部に直接埋め込むことができる特殊な形式の文字列です。

値と関数

次の表は、値、 letバインド、および関数に関連する言語の概念について説明するリファレンス記事を示しています。

タイトル 説明
特定の型を持つ不変量である値について説明します。値には、整数または浮動小数点数、文字またはテキスト、リスト、シーケンス、配列、タプル、判別共用体、レコード、クラス型、または関数値を指定できます。
関数 関数は、任意のプログラミング言語でのプログラム実行の基本的な単位です。 F# 関数には名前があり、パラメーターと引数を受け取ることができ、本文があります。 F# では、関数を値として扱う、式で名前のない関数を使用する、新しい関数を形成する関数の構成、関数のカリー化された関数、関数引数の部分的な適用による関数の暗黙的な定義などの関数プログラミングコンストラクトもサポートされています。
関数式 F# 'fun' キーワードを使用して、匿名関数であるラムダ式を定義する方法について説明します。

ループと条件

次の表に、F# ループと条件について説明する記事を示します。

タイトル 説明
条件式: if...then...else コードのさまざまな分岐を実行し、指定されたブール式に応じて異なる値に評価される if...then...else 式について説明します。
ループ: for...in 範囲式、シーケンス、リスト、配列、列挙型をサポートするその他のコンストラクトなど、列挙可能なコレクション内のパターンの一致を反復処理するために使用されるループ構造である for...in 式について説明します。
ループ: for...to ループ変数の値の範囲をループで反復処理するために使用される for...to 式について説明します。
ループ: while...do 指定したテスト条件が true の間に反復実行 (ループ) を実行するために使用される while...do 式について説明します。

パターン マッチング

次の表に、言語の概念について説明するリファレンス記事を示します。

タイトル 説明
パターン マッチング 入力データを変換するためのルールであり、F# 全体で使用されるパターンについて説明します。 データをパターンと比較したり、データを構成要素に分解したり、さまざまな方法でデータから情報を抽出したりできます。
match 式 match式について説明します。この式は、式と一連のパターンの比較に基づく分岐制御を提供します。
アクティブ パターン アクティブなパターンについて説明します。 アクティブ パターンを使用すると、入力データを分割する名前付きパーティションを定義できます。 アクティブ パターンを使用して、パーティションごとにカスタマイズされた方法でデータを分解できます。

例外処理

次の表に、例外処理に関連する言語の概念について説明するリファレンス記事を示します。

タイトル 説明
例外処理 F# での例外処理のサポートに関する情報が含まれています。
try...with 例外処理に try...with 式を使用する方法について説明します。
try...finally F# try...finally 式を使用して、コード ブロックが例外をスローした場合でもクリーンアップ コードを実行する方法について説明します。
use キーワード リソースの初期化と解放を制御できるキーワード useusingについて説明します。
アサーション assert式について説明します。これは、式のテストに使用できるデバッグ機能です。 デバッグ モードでエラーが発生すると、アサーションによってシステム エラー ダイアログ ボックスが生成されます。

型と型の推論

次の表は、F# での型と型の推論のしくみを説明するリファレンス記事を示しています。

タイトル 説明
タイプ F# で使用される型と、F# 型の名前付けと記述方法について説明します。
基本型の F# で使用される基本的な型について説明します。 また、対応する .NET 型と、各型の最小値と最大値も提供します。
ユニットの種類 特定の値がないことを示す型である unit 型について説明します。 unit 型には 1 つの値しか含まれず、他の値が存在しない場合や必要な場合にプレースホルダーとして機能します。
型の省略形 型の代替名である型の省略形について説明します。
型の推論 F# コンパイラが値、変数、パラメーター、および戻り値の型を推論する方法について説明します。
キャストと変換 F# での型変換のサポートについて説明します。
ジェネリック F# のジェネリック コンストラクトについて説明します。
自動一般化 F# が可能な限り複数の型で動作するように、関数の引数と型を自動的に一般化する方法について説明します。
制約 ジェネリック型または関数の型引数の要件を指定するためにジェネリック型パラメーターに適用される制約について説明します。
柔軟な型 柔軟な型について説明します。 柔軟な型注釈は、パラメーター、変数、または値に、クラスまたはインターフェイスのオブジェクト指向階層での位置によって互換性が決定される、指定された型と互換性のある型があることを示します。
測定単位 測定単位について説明します。 F# の浮動小数点値には、長さ、体積、質量などを示すために通常使用される、メジャーの単位を関連付けることができます。
Byrefs 低レベルプログラミングに使用される F# の byref 型と byref 型について説明します。

タプル、リスト、コレクション、オプション

次の表に、F# でサポートされる型について説明するリファレンス記事を示します。

タイトル 説明
タプル タプルについて説明します。これは、名前のないが順序付けられた値のグループ化であり、場合によっては異なる型の値です。
コレクション 配列、リスト、シーケンス (seq)、マップ、およびセットの型を含む、F# 関数型の概要。
リスト リストについて説明します。 F# のリストは、順序付けされた変更できない一連の要素であり、すべて同じ型です。
[オプション] オプションの種類について説明します。 F# のオプションは、値が存在する場合と存在しない場合に使用されます。 オプションには基になる型があり、その型の値を保持するか、値を持たない可能性があります。
配列 配列について説明します。 配列は、固定サイズの 0 から始まる連続するデータ要素の変更可能なシーケンスであり、すべて同じ型です。
シーケンス シーケンスについて説明します。 シーケンスは、1 つの型のすべての要素の論理系列です。 個々のシーケンス要素は必要な場合にのみ計算されるため、表現はリテラル要素数が示す値よりも小さい場合があります。
シーケンス式 オンデマンドでデータのシーケンスを生成できるシーケンス式について説明します。
セルの参照 参照セルについて説明します。これは、参照セマンティクスを使用して変更可能な変数を作成できるストレージの場所です。

レコードと判別共用体

次の表に、F# でサポートされるレコードと判別共用体の型定義について説明するリファレンス記事を示します。

タイトル 説明
記録 レコードについて説明します。 レコードは、必要に応じてメンバーを含む名前付き値の単純な集計を表します。
匿名のレコード データの操作に役立つ言語機能である匿名レコードを構築して使用する方法について説明します。
判別共用体 さまざまな名前付きケースの 1 つである可能性がある値をサポートする判別共用体について説明します。それぞれの値と型が異なる可能性があります。
構造体 少量のデータと単純な動作を持つ型のクラスよりも効率的なコンパクトなオブジェクト型である構造体について説明します。
Enumerations 列挙型は、名前付き値のセットが定義されている型です。 リテラルの代わりにこれらを使用して、コードをより読みやすく保守しやすくすることができます。

オブジェクト プログラミング

次の表に、F# オブジェクトプログラミングについて説明するリファレンス記事を示します。

タイトル 説明
クラス プロパティ、メソッド、およびイベントを持つオブジェクトを表す型であるクラスについて説明します。
インターフェイス 他のクラスが実装する関連メンバーのセットを指定するインターフェイスについて説明します。
抽象クラス する 抽象クラスについて説明します。抽象クラスは、一部またはすべてのメンバーを実装したままにして、派生クラスから実装を提供できるようにするクラスです。
型拡張 以前に定義したオブジェクト型に新しいメンバーを追加できる型拡張について説明します。
代表者 オブジェクトとしての関数呼び出しを表すデリゲートについて説明します。
継承 オブジェクト指向プログラミングで "is-a" リレーションシップ (サブタイピング) をモデル化するために使用される継承について説明します。
メンバー F# オブジェクト型のメンバーについて説明します。
パラメーターと引数 パラメーターを定義し、関数、メソッド、およびプロパティに引数を渡すための言語サポートについて説明します。 参照渡し方法に関する情報が含まれています。
演算子のオーバーロード クラスまたはレコード型の算術演算子をグローバル レベルでオーバーロードする方法について説明します。
オブジェクト式 オブジェクト式について説明します。これは、既存の基本型、インターフェイス、またはインターフェイスのセットに基づく、動的に作成された匿名オブジェクト型の新しいインスタンスを作成する式です。

非同期、タスク、および遅延

次の表に、F# の非同期式、タスク式、および遅延式について説明するトピックを示します。

タイトル 説明
非同期表現 非同期式について説明します。非同期コードは、自然に同期コードを記述する方法に非常に近い方法で記述できます。
タスク式 タスク式について説明します。これは、.NET タスクを使用または生成する .NET コードと相互運用するときに使用される非同期コードを記述する別の方法です。
遅延式 遅延式について説明します。これは、すぐに評価されるのではなく、結果が実際に必要になったときに評価される計算です。

計算式とクエリ

次の表に、F# の計算式とクエリについて説明するトピックを示します。

タイトル 説明
コンピュテーション式 F# のコンピュテーション式について説明します。これは、制御フローのコンストラクトとバインドを使用してシーケンス化および結合できる計算を記述するための便利な構文を提供します。 機能プログラムのデータ、制御、および副作用を管理するために使用できます。
クエリ式 LINQ for F# を実装し、データ ソースまたは列挙可能なコレクションに対してクエリを記述できるようにする言語機能であるクエリ式について説明します。

属性、リフレクション、引用符、およびプレーン テキストの書式設定

次の表に、属性、引用符、 nameof、プレーン テキストの書式設定など、F# の反射機能について説明する記事を示します。

タイトル 説明
属性 F# 属性を使用して、プログラミング コンストラクトにメタデータを適用する方法について説明します。
nameof ソース コード内の任意のシンボルの名前を生成できるメタプログラミング機能である nameof 演算子について説明します。
発信者情報 呼び出し元情報引数属性を使用してメソッドから呼び出し元情報を取得する方法について説明します。
ソース行、ファイル、パスの識別子 コード内のソース行番号、ディレクトリ、ファイル名にアクセスできる組み込みの値である、 __LINE____SOURCE_DIRECTORY__、および __SOURCE_FILE__の識別子について説明します。
コード引用符 F# コード式をプログラムで生成して操作できる言語機能であるコードクォートについて説明します。
プレーン テキストの書式設定 F# アプリケーションとスクリプトで sprintf やその他のプレーン テキスト書式を使用する方法について説明します。

型プロバイダー

次の表に、F# 型プロバイダーについて説明する記事を示します。

タイトル 説明
型プロバイダー 型プロバイダーについて説明し、組み込みの型プロバイダーを使用してデータベースや Web サービスにアクセスする方法に関するチュートリアルへのリンクを見つけます。
型プロバイダーを作成する 基本的な概念を示すいくつかの単純な型プロバイダーを調べることで、独自の F# 型プロバイダーを作成する方法について説明します。

F# Core ライブラリ API リファレンス

F# Core ライブラリ (FSharp.Core) API リファレンス は、すべての F# Core ライブラリの名前空間、モジュール、型、および関数のリファレンスです。

参照テーブル

次の表は、F# でトークンとして使用されるキーワード、シンボル、およびリテラルのテーブルを提供する参照記事を示しています。

タイトル 説明
キーワード リファレンス すべての F# 言語キーワードに関する情報へのリンクが含まれています。
シンボルと演算子のリファレンス F# で使用されるシンボルと演算子のテーブルが含まれています。

コンパイラでサポートされるコンストラクト

次の表に、コンパイラでサポートされる特殊なコンストラクトについて説明するトピックを示します。

トピック 説明
コンパイラ オプション F# コンパイラのコマンド ライン オプションについて説明します。
コンパイラ ディレクティブ F# コンパイラでサポートされるプロセッサ ディレクティブとコンパイラ ディレクティブについて説明します。