2009-09-04 15 views
27

मैं इस समस्या को एफ # में ठोकर खाई। मान लीजिए, मैं दो प्रकार है कि एक दूसरे के संदर्भ घोषित करने के लिए करना चाहते हैं:एफ # आगे प्रकार घोषणाएं


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

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

मुझे लगता है कि, तो संकलक एक त्रुटि उत्पन्न नहीं करता है कैसे करते हैं?

+1

यह भी देखें http://stackoverflow.com/questions/680606/f-how-to-have-two-methods-calling-each-other – Brian

उत्तर

44

आप का उपयोग 'और':

type firstType = 
    | T1 of secondType 

and secondType = 
    | T1 of firstType 
+2

हर बार मुझे लगता है कि एफ # में सुरुचिपूर्ण नहीं है आश्चर्यचकित एक सुरुचिपूर्ण समाधान है। – CodeMonkey

3

मैं इसे लगा। यह है:


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

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

आप पारस्परिक रूप से पुनरावर्ती कार्यों के लिए भी उसी नोटेशन का उपयोग करते हैं - यदि आपको पहले से ही यह पता नहीं था। – Massif

2

सीमा यह है कि प्रकारों को उसी फ़ाइल में घोषित किया जाना है।

संबंधित मुद्दे