Frage

In F #, was ist die Art Anmerkung für eine typisierte Liste (e..g Liste von int)? Mit einer einfachen Funktion kann ich Anmerkungen wie folgt vor:

lassen Quadrat (x: int) = ...

Ich habe x als int-Typen mit Anmerkungen versehen. Aber was, wenn ich möchte eine Typanmerkung für eine int Liste tun? Zum Beispiel, sagen wir mal ich eine Max-Funktion, die eine Liste erwartet - wie würde ich eine Art Anmerkung für sie tun?

lassen max (Zahlen: ??) = ...

War es hilfreich?

Lösung

Es gibt zwei Möglichkeiten:

let max (numbers:int list) = ... 
let max (numbers:list<int>) = ... 

Die erste Version verwendet Syntax, die von OCaml vererbt wird (und häufig für primitive F # Typen wie Listen verwendet wird). Die zweite Version verwendet .NET-Syntax (und wird häufig für die .NET-Typen verwendet, oder wenn die objektorientierten Code in F # Schreiben). beide jedoch bedeuten, genau das gleiche.

In jedem Fall ist die Form der Typanmerkung immer (<something> : <type>) <something> wo entweder ein Muster (wie in der Parameterliste) oder ein Ausdruck. Dies bedeutet, dass int list und list<int> sind nur Namen von Typen. F # Interactive gibt den Typ, wenn Sie einen Wert eingeben, so können Sie diese verwenden können, um mehr darüber zu erfahren, wie Typnamen geschrieben werden:

> [1;2;3]
val it : int list = [ 1; 2; 3 ]
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top