33 Stimmen

F# Vorwärts-Typ-Deklarationen

Ich bin über dieses Problem in F# gestolpert. Angenommen, ich möchte zwei Typen deklarieren, die sich gegenseitig referenzieren:

type firstType = 
     | T1 of secondType
     //................

type secondType =
     | T1 of firstType  
     //................    

Wie kann ich das tun, damit der Compiler keinen Fehler erzeugt?

53voto

Johan Kullbom Punkte 4135

Sie verwenden 'und':

type firstType = 
     | T1 of secondType

and secondType =
     | T1 of firstType

4voto

Max Punkte 19174

Ich habe es mir gedacht. Es ist:

type firstType = 
     | T1 of secondType
     //................

and secondType =
     | T1 of firstType  
     //................

2voto

t0yv0 Punkte 4688

Die Einschränkung ist, dass die Typen in derselben Datei deklariert werden müssen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X