मैं एक मॉड्यूल बनाना चाहता हूं, और इसे हैकेल लाइब्रेरी में लोड करना चाहता हूं। मैं हैकसेल-प्लेटफ़ॉर्म के टूल का उपयोग करके उबंटू 11 या विंडोज 7 के साथ काम कर सकता हूं।अपना मॉड्यूल बनाएं और इंस्टॉल करें
module Pkr.Element(..) where
import Char
data Card = Card Int deriving (Eq)
seme :: Card -> Int
seme (Card x) = mod (div x 13) 4
label :: Card -> Int
label (Card x) = mod x 13
instance Ord Card where
(>) x y |ix == iy = False
|ix == 0 = True
|iy == 0 = False
| otherwise = (ix > iy)
where
ix = label x
iy = label y
instance Show Card where
show :: Card -> String
show card = strI(label card) : strS(seme card) :[]
where
strI x | (x == 0) = 'A'
| (x == 12) = 'K'
| (x == 11) = 'Q'
| (x == 10) = 'J'
| (x == 9) = 'T'
| otherwise = chr (49+x)
strS y | (y == 0) = 'h'
| (y == 1) = 'c'
| (y == 2) = 'd'
| (y == 3) = 's'
data Category = Null | HighCard | Copple | TwoCopple |
Tris | Straight | Flush | FullHouse |
Poker | StraightFlush deriving (Show, Eq, Ord)
type Cards = [Card]
data Rank = Rank Category Cards Cards deriving (Eq, Ord, Show)
मैं भी "शो" GHCi में के साथ कुछ समस्या है, क्योंकि मैं ढेर अतिप्रवाह के एक अपवाद मिलता है: यह मेरा मॉड्यूल है।
हमें दिखाएं कि आप ghci में क्या टाइप करते हैं जो एक स्टैक ओवरफ़्लो अपवाद का कारण बनता है। – dave4420
क्या आप इस मॉड्यूल को अपने सिस्टम पर स्थापित करना चाहते हैं, इसलिए इसे कई प्रोग्रामों द्वारा उपयोग किया जा सकता है [(Cabal का उपयोग करें)] (http://www.haskell.org/cabal/users-guide/), या आप बस चाहते हैं इसे एक प्रोग्राम में उपयोग करें (आपको केवल मॉड्यूल को अपने प्रोग्राम के मुख्य मॉड्यूल के समान निर्देशिका में रखना होगा)? – dave4420
मैं इसे ghci पर टाइप करता हूं: >: एल Pkr.Element; > कार्ड 4; > *** अपवाद स्टैकओवरफ्लो (या कुछ समान) मैं जो चाहता हूं उसके बारे में: मैं हैकेल सीख रहा हूं और मैं कोड की मॉड्यूलरिटी बढ़ाने के लिए मॉड्यूल का उपयोग करना चाहता हूं। मैं इस मॉड्यूल को अपने सिस्टम पर स्थापित करना चाहता हूं, इसलिए मैं अपने पैकेज के मॉड्यूल का पुनः उपयोग कर सकता हूं। – optimusfrenk