Share via


Microsoft.FSharp.Core 名前空間 (F#)

この名前空間には、F# のコア機能 (言語プリミティブ、演算子、属性、プリミティブ型、文字列、書式が設定された I/O など) をサポートする機能が含まれています。

名前空間/モジュール パス: Microsoft.FSharp.Core

アセンブリ: FSharp.Core (FSharp.Core.dll)

namespace Microsoft.FSharp.Core

モジュール

モジュール

説明

モジュール ExtraTopLevelOperators

モジュールまたは名前空間を開かずに使用できる追加の F# 演算子および型。

モジュール LanguagePrimitives

F# 言語に関連付けられている言語プリミティブ。

モジュール NumericLiterals

"dddI" 形式のリテラルに使用される F# 数値リテラル構文の既定の実装を提供します。

モジュール Operators

基本的な F# 演算子。 このモジュールは、すべての F# コードで自動的に開かれます。

モジュール OptimizedClosures

関数値の呼び出しの一部のプライベートな実装を保持するために使用される実装モジュール。

モジュール Option

オプションに対する基本操作。

モジュール Printf

数値およびその他のデータ型で使用できる、拡張性のある printf スタイルの書式設定。

モジュール String

文字列処理のための関数型プログラミング演算子。 さらに、文字列に対するメンバー関数および String 型と Regex 型の他の機能を介して、他の文字列操作を使用できます。

型定義

説明

[,,,]<'T>

4 次元配列。通常、インデックス番号は 0 から始まります。 インデックス番号が 0 から始まらない配列は、System.Array 型にあるメソッドを使用して作成できます。

[,,]<'T>

3 次元配列。通常、インデックス番号は 0 から始まります。 インデックス番号が 0 から始まらない配列は、System.Array 型にあるメソッドを使用して作成できます。

[,]<'T>

2 次元配列。通常、インデックス番号は 0 から始まります。

[]<'T>

インデックス番号が 0 から始まる 1 次元配列。int[]、string[] などと記述されます。

AbstractClassAttribute

この属性をクラス定義に追加すると、抽象クラスになります。つまり、クラスのメソッドをすべて実装する必要がなくなります。 抽象クラスのインスタンスを直接構築することはできません。

AllowNullLiteralAttribute

この属性を型に追加すると、その型に対して F# コード内で 'null' リテラルを使用できるようになります。 この属性は、F# で定義されたクラス型またはインターフェイス型にのみ追加できます。

AutoOpenAttribute

この属性には 2 つの目的があります。 アセンブリに適用する場合は、文字列引数が必要です。この引数は、そのアセンブリ内の有効なモジュールまたは名前空間を示す必要があります。 このアセンブリへの参照を指定してコンパイルされるソース コード ファイルは、指定したパスが自動的に開かれる環境で処理されます。

AutoSerializableAttribute

値 'false' を指定してこの属性を型に追加すると、型をシリアル化可能にする F# の既定の動作が無効になります。

byref<'T>

F# コードのマネージ ポインターを表します。

Choice<'T1,'T2,'T3,'T4,'T5,'T6,'T7>

7 つの選択肢を持つアクティブ パターンのヘルパー型。

Choice<'T1,'T2,'T3,'T4,'T5,'T6>

6 つの選択肢を持つアクティブ パターンのヘルパー型。

Choice<'T1,'T2,'T3,'T4,'T5>

5 つの選択肢を持つアクティブ パターンのヘルパー型。

Choice<'T1,'T2,'T3,'T4>

4 つの選択肢を持つアクティブ パターンのヘルパー型。

Choice<'T1,'T2,'T3>

3 つの選択肢を持つアクティブ パターンのヘルパー型。

Choice<'T1,'T2>

2 つの選択肢を持つアクティブ パターンのヘルパー型。

ClassAttribute

この属性を型に追加すると、その型は CLI クラスを使用して表されます。

CLIEventAttribute

この属性をイベント型のプロパティに追加すると、そのプロパティが 'add_EventName' メソッドと 'remove_EventName' メソッドのペアに構文的に変換され、CLI メタデータ イベントとしてコンパイルされるようになります。

ComparisonConditionalOnAttribute

この属性は、ジェネリック コンテナー型が F# の 'comparison' 制約を満たすには、汎用引数もこの制約を満たす必要があることを示すために使用されます。 たとえば、型定義 C<'T> のパラメーター 'T にこの属性を追加すると、型 C<X> が比較をサポートするのは、型 X も比較をサポートし、かつ C<X> で比較をサポートするための他の条件もすべて満たされた場合だけになります。 型 C<'T> は他の型引数でも使用できますが、C<(int -> int)> のような型は比較をサポートしません。これは、型 (int -> int) が F# 関数型であり、比較をサポートしないためです。

CompilationArgumentCountsAttribute

この属性は、F# コンパイラによって自動的に生成されます。一部の引数の部分的な適用を受け入れる関数とメンバーにタグを付けて、残りの関数を返します。

CompilationMappingAttribute

この属性は、F# コンパイラによって自動的に挿入されます。生成された CLI コード内の型とメソッドに、元のソース構造との対応を示すフラグでタグを付けます。 これは、Microsoft.FSharp.Reflection 名前空間内の関数で、コンパイル済みの構成要素を元の形式に逆マップするために使用されます。 ユーザー コードで使用するためのものではありません。

CompilationRepresentationAttribute

この属性は、型のランタイム表現を調整するために使用されます。 たとえば、型に null 表現を使用できることを示すために使用される場合があります。 これは、一部の構成要素のコンパイル方法に影響します。

CompilationRepresentationFlags

F# の型またはメンバーのコンパイルされた表現に対する 1 つ以上の調整を示します。

CompilationSourceNameAttribute

この属性は、F# コンパイラによって自動的に挿入され、'CompiledName' 属性が指定されたメソッドにタグを付けます。 ユーザー コードで使用するためのものではありません。

CompiledNameAttribute

この属性を F# モジュール内の値定義または関数定義に追加すると、コンパイルされた CLI コードで値に使用される名前が変更されます。

CompilerMessageAttribute

この構成要素を F# ソース コードで使用したときにメッセージが生成されることを示します。

CustomComparisonAttribute

この属性を型に追加すると、その型にユーザー定義の比較が実装されていることを示します。

CustomEqualityAttribute

この属性を型に追加すると、その型にユーザー定義の等値が実装されていることを示します。

decimal<'Measure>

単位で注釈が付けられた 10 進数の型。 この単位は、コンパイルされたコードでは消去されます。また、この型の値がリフレクションを使用して分析されるときにも消去されます。 この型は、表現上は System.Decimal と同じです。

DefaultAugmentationAttribute

この属性を判別共用体に追加して値を false に設定すると、その型に対して生成される CLI クラスで、標準ヘルパー メンバーであるテスター、コンストラクター、およびアクセサーの各メンバーが生成されなくなります。

DefaultValueAttribute

この属性をフィールド宣言に追加すると、フィールドが初期化されていないことを意味します。 型チェック時に、フィールド型が 'null' をサポートするという制約がアサートされます。 'check' 値が false の場合、制約はアサートされません。

EntryPointAttribute

この属性を関数に追加すると、その関数がアプリケーションのエントリ ポイントであることを示します。 この属性が EXE に対して指定されていない場合は、コンパイル シーケンスの最後のファイルにあるモジュール バインディング内の暗黙の初期化がエントリ ポイントとして使用されます。

EqualityConditionalOnAttribute

この属性は、ジェネリック コンテナー型が F# の 'equality' 制約を満たすには、汎用引数もこの制約を満たす必要があることを示すために使用されます。 たとえば、型定義 C<'T> のパラメーター 'T にこの属性を追加すると、型 C<X> が等値をサポートするのは、型 X も等値をサポートし、かつ C<X> で等値をサポートするための他の条件もすべて満たされた場合だけになります。 型 C<'T> は他の型引数でも使用できますが、C<(int -> int)> のような型は等値をサポートしません。これは、型 (int -> int) が F# 関数型であり、等値をサポートしないためです。

ExperimentalAttribute

この属性は、試験的なライブラリ機能の一部である値にタグを付けるために使用されます。

float<'Measure>

単位で注釈が付けられた浮動小数点数の型。 この単位は、コンパイルされたコードでは消去されます。また、この型の値がリフレクションを使用して分析されるときにも消去されます。 この型は、表現上は System.Double と同じです。

float32<'Measure>

単位で注釈が付けられた浮動小数点数の型。 この単位は、コンパイルされたコードでは消去されます。また、この型の値がリフレクションを使用して分析されるときにも消去されます。 この型は、表現上は System.Single と同じです。

FSharpFunc<'T,'U>

F# 関数値を表すために使用される CLI 型。 この型は他の CLI 言語から使用できますが、通常、直接使用されることはありません。

FSharpInterfaceDataVersionAttribute

この属性は、生成されたアセンブリに追加され、コンパイル済みの F# ライブラリにアタッチされたリソース内の、F# 固有の情報をエンコードするために使用されたデータ スキーマのバージョンを示します。

FSharpTypeFunc

F# のファースト クラスの型関数値を表すために使用される CLI 型。 この型は、コンパイルされた F# コードで使用されます。

FuncConvert

F# のファースト クラスの関数値と、デリゲートを使用する関数の CLI 表現との間で変換を行うヘルパー関数。

GeneralizableValueAttribute

ジェネリック パラメーターのある非関数値にこの属性を追加すると、その構成要素を使用したときに、型の推論を通じてジェネリック コードを生成できることを示します。

ilsigptr<'T>

この型は、F# コード ジェネレーターでの内部的な用途に使用されます。

int<'Measure>

単位で注釈が付けられた 32 ビット符号付き整数の型。 この単位は、コンパイルされたコードでは消去されます。また、この型の値がリフレクションを使用して分析されるときにも消去されます。 この型は、表現上は System.Int32 と同じです。

int16<'Measure>

単位で注釈が付けられた 16 ビット符号付き整数の型。 この単位は、コンパイルされたコードでは消去されます。また、この型の値がリフレクションを使用して分析されるときにも消去されます。 この型は、表現上は System.Int16 と同じです。

int64<'Measure>

単位で注釈が付けられた 64 ビット符号付き整数の型。 この単位は、コンパイルされたコードでは消去されます。また、この型の値がリフレクションを使用して分析されるときにも消去されます。 この型は、表現上は System.Int64 と同じです。

InterfaceAttribute

この属性を型に追加すると、その型は CLI インターフェイスを使用して表されます。

LiteralAttribute

この属性を値に追加すると、CLI 定数リテラルとしてコンパイルされます。

MeasureAnnotatedAbbreviationAttribute

この属性を型に追加すると、純化された型として解釈されます。現時点では、単位でパラメーター化された型に限定されています。 非常に限定された状況下でのみ使用できます。

MeasureAttribute

この属性を型に追加すると、単位として解釈されます。 非常に限定された状況下でのみ使用できます。

nativeptr<'T>

F# コードのアンマネージ ポインターを表します。

NoComparisonAttribute

この属性を型に追加すると、その型では比較が正常な処理でないことを示します。 つまり、型は F# の 'comparison' 制約を満たしません。 これは、F# 型システムの境界内において、この型で F# ジェネリック比較関数が直接インスタンス化されないようにするために役立ちます。 この属性およびチェックでは、この型の基本型または子の型との比較の使用は制約されません。

NoDynamicInvocationAttribute

この属性は、実行時に動的に呼び出すことができない値にタグを付けるために使用されます。 通常、これは、検証できないコードをその実装に含んでいるインライン関数に追加されます。 これにより、インライン関数に出力されたメソッド本体が動的に呼び出された場合、生成されたアセンブリに検証できないコードが含められるのではなく、例外が発生するようになります。

NoEqualityAttribute

この属性を型に追加すると、その型では等値が正常な処理でないことを示します。 つまり、この型は F# の 'equality' 制約を満たしません。 これは、F# 型システムの境界内において、等価性を確認する F# ジェネリック関数がこの型で直接インスタンス化されないようにするために役立ちます。 この属性およびチェックでは、この型の基本型または子の型との比較の使用は制約されません。

Option<'T>

省略可能な値の型。 他の CLI 言語から使用された場合、空のオプションは null 値です。

OptionalArgumentAttribute

この属性は、すべてのオプションの引数に自動的に追加されます。

PrintfFormat<'Printer,'State,'Residue,'Result,'Tuple>

書式指定式の型。

PrintfFormat<'Printer,'State,'Residue,'Result>

書式指定式の型。

Ref<'T>

変更可能な参照の型。 この型の値を取得および設定するには、[:=] および [!] の関数を使用します。

ReferenceEqualityAttribute

この属性をレコード型または共用体型に追加すると、その型に対する 'System.Object.Equals(obj)'、'System.Object.GetHashCode()'、および 'System.IComparable' のオーバーライドの自動生成が無効になります。 その型では、既定で参照の等価性が使用されます。

ReflectedDefinitionAttribute

この属性をトップレベル値の定義の let バインディングに追加すると、実行時に使用できる値を実装する引用式が作成されます。

RequireQualifiedAccessAttribute

この属性は、モジュール、レコード、または共用体型の要素への参照に明示的な修飾アクセスが必要であることを示すために使用します。

RequiresExplicitTypeArgumentsAttribute

この属性を型、値、またはメンバーに追加すると、その構成要素の使用時に、すべてのジェネリック型パラメーターを明示的にインスタンス化することが必要になります。

sbyte<'Measure>

単位で注釈が付けられた 8 ビット符号付き整数の型。 この単位は、コンパイルされたコードでは消去されます。また、この型の値がリフレクションを使用して分析されるときにも消去されます。 この型は、表現上は System.SByte と同じです。

SealedAttribute

この属性をクラス定義に追加すると、シール クラスになります。つまり、クラスの拡張や実装はできなくなります。

SourceConstructFlags

CLI ライブラリのコンパイル済みエンティティと F# ソース コードとの関係を示します。

StructAttribute

この属性を型に追加すると、その型は CLI 構造体を使用して表されます。

StructuralComparisonAttribute

この属性をレコード、共用体、例外、または構造体の型に追加すると、その型に対して 'System.IComparable' の実装が確実に自動生成されます。

StructuralEqualityAttribute

この属性をレコード、共用体、または構造体の型に追加すると、その型に対して 'System.Object.Equals(obj)' および 'System.Object.GetHashCode()' のオーバーライドが確実に自動生成されます。

StructuredFormatDisplayAttribute

この属性は、'%A' printf 書式設定やその他の 2 次元のテキスト ベースの表示レイアウトを使用する場合に、型を表示する既定の方法を指定するために使用されます。 このバージョンの F# で有効な値は、PreText {PropertyName} PostText 形式の値のみです。 プロパティ名は、オブジェクトそのものの代わりに評価および表示するプロパティを表します。

Unit

1 つの値 "()" しか持たない型の "単位"。 この値は特別で、常に "null" 表現を使用します。

UnverifiableAttribute

この属性は、使用すると検証不可能なコードが生成される値にタグを付けるために使用されます。 このような値は、検証不可能な構成要素が F# ライブラリの実際のコードに含められるのを防ぎ、確実に呼び出し元のソース コードにコピーされるようにするために、必ず 'inline' としてマークされます。

VolatileFieldAttribute

この属性を F# の変更可能なバインディングに追加すると、フィールドへのすべてのアクセスに "volatile" プレフィックスが使用されます。

型省略形

説明

array<'T>

インデックス番号が 0 から始まる 1 次元配列。int[]、string[] などと記述されます。

bigint

任意の大きさの整数。 BigInteger 型の省略形。

bool

CLI 型 Boolean の省略形。

byte

CLI 型 Byte の省略形。

char

CLI 型 Char の省略形。

decimal

CLI 型 Decimal の省略形。

double

CLI 型 Double の省略形。

exn

CLI 型 Exception の省略形。

float

CLI 型 Double の省略形。

float32

CLI 型 Single の省略形。

Format<'Printer,'State,'Residue,'Result,'Tuple>

書式指定式の型。

Format<'Printer,'State,'Residue,'Result>

書式指定式の型。

int

CLI 型 Int32 の省略形。

int16

CLI 型 Int16 の省略形。

int32

CLI 型 Int32 の省略形。

int64

CLI 型 Int64 の省略形。

int8

CLI 型 SByte の省略形。

nativeint

CLI 型 IntPtr の省略形。

obj

CLI 型 Object の省略形。

option<'T>

省略可能な値の型。 他の CLI 言語から使用された場合、空のオプションは null 値です。

ref<'T>

変更可能な参照の型。 この型の値を取得および設定するには、[:=] および [!] の関数を使用します。

sbyte

CLI 型 SByte の省略形。

single

CLI 型 Single の省略形。

string

CLI 型 String の省略形。

uint16

CLI 型 UInt16 の省略形。

uint32

CLI 型 UInt32 の省略形。

uint64

CLI 型 UInt64 の省略形。

uint8

CLI 型 Byte の省略形。

unativeint

CLI 型 UIntPtr の省略形。

unit

1 つの値 "()" しか持たない型の "単位"。 この値は特別で、常に "null" 表現を使用します。

例外

例外

説明

例外 MatchFailureException

不完全な一致のエラーが発生すると、MatchFailureException 例外がスローされます。

参照

その他の技術情報

F# コア ライブラリ リファレンス