2011-01-14 7 views
3

ich vor kurzem den Quellcode der Couch-db lesen, finde ich diese Art Definition, die ich nicht verstehe:Erlang Typen Spezifikationen

-type branch() :: {Key::term(), Value::term(), Tree::term()}. 
-type path() :: {Start::pos_integer(), branch()}. 
-type tree() :: [branch()]. 

ich Erlang doc gelesen hat, aber was ist der Sinn des starten , Schlüssel, Wert und Baum? Soweit ich weiß, sind das Erlang-Variablen! Ich habe dazu keine Informationen in Erlang doc gefunden.

Antwort

7

Start usw. sind nur beschreibende Namen für die jeweiligen Teile der Begriffe, um es für den Menschen einfacher zu machen, die Typdefinition zu lesen. Sie haben nichts mit tatsächlichen Variablennamen zu tun.

(Randbemerkung:. Leider auch in OTP R14b, edoc noch nicht -type und -spec für liest seine HTML-Dokumentation zu erzeugen - es verwendet die alte @type und @spec statt)

Update: Die official docs on -type and -spec. Weitere Dinge zu suchen sind das Wort Erfolg Eingabe und die Handbücher für Dialysator und Typer.

+0

Seite Sie suchen: http://www.erlang.org/doc/reference_manual/typespec.html –

+0

@Hynek: Vielen Dank. Oben aktualisiert. – ndim