12

私は F# を学んでいます。Visual Studio でコードを入力してF# Interactiveで実行すると、次のようなものが表示されます。

val foo : x:'a -> 'a

fooこれは、型のパラメーターを受け取り、x同じ x の型の値を返す関数であると想像します。

しかし、それ'はどういう意味ですか?多くの関数は、インテリセンスでもそのようなことを示しています。

4

2 に答える 2

15

一重引用符 ( ') は、そのパラメーターの型がジェネリックであることを意味します。あなたが与えた例のように推測することも、明示的に適用することもできます。

詳細については、ここの暗黙的ジェネリック コンストラクトを参照してください。

于 2013-07-28T19:55:32.900 に答える
14

'a 型変数、つまり、まだ決定されていない (まだ決定する必要がない) 型を表します。

これは、名前がa' のa'2 文字の通常の変数である とは異なることに注意してください。C# などの他の言語とは対照的に、単一引用符は、上記の型変数から明確にする名前の最初の文字を除いて、F# 変数名で許可されている文字です。

于 2013-07-28T20:31:58.363 に答える