में वृक्ष प्रतिनिधित्व मैं tuples की एक सूची का उपयोग कर एफ # में एक पेड़ को लागू करने की कोशिश कर रहा हूं।
[a]
जहां a
= (string, [a])
प्रत्येक नोड अपने बच्चों और पत्र-गांठ की एक सूची होगा (name, [])
एफ #
मैं रिकर्सिवली इस तरह सूची के प्रत्येक स्तर के माध्यम से पुनरावृति करने में सक्षम होना चाहते हैं।
a
b e
c d f g
हालांकि वे हमेशा बाइनरी पेड़ नहीं होते हैं।
let t2 = [("a", [("b", [("c", []), ("d", [])]), ("e", [("f", []), ("g", [])])])]
let rec checkstuff tple =
match tple with
| (_, []) -> true
| (node, children) ->
List.fold (||) false (List.map checkstuff children)
मैं:
प्रकार बेमेल। एक
('a * 'b list) list
लेकिन एक
'b list
जिसके परिणामस्वरूप प्रकार दिया उम्मीद अनंत जब''a'
और''b * 'a list'
एकीकृत होगा वहाँ एक रास्ता मैं कुछ इस तरह कुछ कर सकते हैं या इस तरह tuples की एक पुनरावर्ती सूची के लिए समर्थन नहीं है?