मैं हैकेल में बीजगणित डीटी के बारे में सीख रहा हूं। मैं जो करना चाहता हूं वह एक नया एडीटी बनाता है जो कि मौजूदा "विस्तार" करता है। मुझे यह नहीं पता कि मैं जो चाहूं उसे व्यक्त करना है, क्या कोई वैकल्पिक पैटर्न को हल कर सकता है या समाधान हल कर सकता है। मैं चाहता हूं कि वे अलग-अलग प्रकार हों, लेकिन एक मूर्ख समाधान की तरह केवल सीमों की प्रतिलिपि बनाना और पेस्ट करना। नीचे दिया गया कोड सबसे अच्छा वर्णन करता है कि मैं क्या चाहता हूं।हास्केल के बीजगणितीय डेटा प्रकार: "छद्म-विस्तार"
data Power =
Abkhazia |
-- A whole bunch of World powers and semi-powers
Transnistria
deriving (Eq, Show)
data Country =
--Everything in Power |
Netural |
Water
deriving (Eq, Show)
संपादित करें: मुझे लगता है कि यह एक छोटे से स्पष्टीकरण की जरूरत है ... मैं इस (GHCi में) करने के लिए
let a = Abkhazia :: Country
और नहीं
let a = Power Abkhazia :: Country
ऐसा करने के लिए आमतौर पर विचारों के ओओ-वाई स्कूल से आते हैं ;-), लेकिन आप पावर होल्ड्री के लिए देश के भीतर हमेशा एक कन्स्ट्रक्टर जोड़ सकते हैं। –
हम्म मैं पूछ सकता हूं कि कैसे अब्खाज़िया और ट्रांसनिस्ट्रिया हास्केल कोड के टुकड़े में आते हैं? आप उन दो स्थानों से कैसे जुड़े हुए हैं? क्या आप किसी तरह के गेम पर काम कर रहे हैं? तुम किस देश से हो? –
अबखाज़िया और ट्रांसनिस्ट्रिया http://en.wikipedia.org/wiki/List_of_sovereign_states पर "अन्य राज्यों" की सूची में पहला और आखिरी है। मैं सिर्फ हास्केल सीख रहा हूं और अभ्यास करने के लिए कुछ लेकर आया हूं। मुझे लगता है कि यह एक खेल हो सकता है, लेकिन मेरे पास अभी तक कोई इरादा नहीं है। –