मैं अपने सिर को भेदभाव वाले संघों और रिकॉर्ड प्रकारों के आसपास लाने की कोशिश कर रहा हूं; विशेष रूप से अधिकतम पठनीयता के लिए उन्हें कैसे गठबंधन करना है। यहां एक उदाहरण दिया गया है - कहें कि एक स्पोर्ट्स टीम के पास अंक (दोनों लीग पॉइंट्स और लक्ष्य अंतर) हो सकते हैं, या इसे लीग से निलंबित किया जा सकता है, जिस स्थिति में उसके पास कोई अंक या लक्ष्य अंतर नहीं है। यहां बताया गया है कि मैंने इसे व्यक्त करने का प्रयास कैसे किया:रिकॉर्ड प्रकारों के साथ भेदभाव वाले संघों का संयोजन
type Points = { LeaguePoints : int; GoalDifference : int }
type TeamState =
| CurrentPoints of Points
| Suspended
type Team = { Name : string; State : TeamState }
let points = { LeaguePoints = 20; GoalDifference = 3 }
let portsmouth = { Name = "Portsmouth"; State = points }
समस्या अंतिम पंक्ति के अंत में आती है, जहां मैं 'राज्य = अंक' कहता हूं। मुझे लगता है कि अभिव्यक्ति से टीमस्टेट टाइप करने की उम्मीद थी, लेकिन यहां टाइप पॉइंट्स हैं। मैं उसके आसपास कैसे हो सकता हूं?
आप सुंदरता! धन्यवाद पैड – Kit
(अनुमति के समय उत्तर के रूप में चिह्नित होगा - 6 मिनट!) – Kit