私は F# を学んでいます。Visual Studio でコードを入力してF# Interactiveで実行すると、次のようなものが表示されます。
val foo : x:'a -> 'a
foo
これは、型のパラメーターを受け取り、x
同じ x の型の値を返す関数であると想像します。
しかし、それ'
はどういう意味ですか?多くの関数は、インテリセンスでもそのようなことを示しています。
私は F# を学んでいます。Visual Studio でコードを入力してF# Interactiveで実行すると、次のようなものが表示されます。
val foo : x:'a -> 'a
foo
これは、型のパラメーターを受け取り、x
同じ x の型の値を返す関数であると想像します。
しかし、それ'
はどういう意味ですか?多くの関数は、インテリセンスでもそのようなことを示しています。
一重引用符 ( '
) は、そのパラメーターの型がジェネリックであることを意味します。あなたが与えた例のように推測することも、明示的に適用することもできます。
詳細については、ここの暗黙的ジェネリック コンストラクトを参照してください。
'a
型変数、つまり、まだ決定されていない (まだ決定する必要がない) 型を表します。
これは、名前がaと' のa'
2 文字の通常の変数である とは異なることに注意してください。C# などの他の言語とは対照的に、単一引用符は、上記の型変数から明確にする名前の最初の文字を除いて、F# 変数名で許可されている文字です。