質問
f#intypedリストのタイプアノテーションは何ですか(intのe..gリスト)?単純な機能を使用すると、次のように注釈を実行できます。
square(x:int)= ...
XをINTタイプとして注釈しました。しかし、INTリストのタイプ注釈を作成したい場合はどうなりますか?たとえば、リストを期待する最大関数を持っているとしましょう。それのためにタイプのアノテーションを行うにはどうすればよいですか?
max(numbers:??)= ...
解決
2つのオプションがあります。
let max (numbers:int list) = ...
let max (numbers:list<int>) = ...
最初のバージョンは、OCAMLから継承される構文を使用します(リストなどのプリミティブF#タイプに頻繁に使用されます)。 2番目のバージョンでは、.NET構文を使用します(また、.NETタイプに頻繁に使用されます。ただし、どちらもまったく同じことを意味します。
いずれにせよ、タイプの注釈の形式は常に (<something> : <type>)
どこ <something>
パターン(パラメーターリストのように)または式のいずれかです。この意味は int list
と list<int>
タイプの名前だけです。 F#インタラクティブ印刷このタイプは、ある程度の価値を入力すると、これを使用してタイプ名の書き込み方法について詳しく知ることができます。
> [1;2;3]
val it : int list = [ 1; 2; 3 ]
所属していません StackOverflow