haskell Convert IO Int to Int System.Random.MWC -


मैं IO int से int से < Code> System.Random.MWC , असुरक्षितप्रोफॉर्मियो का उपयोग करके। यह ghci में काम करता है:

  प्रील्यूड सिस्टम। रैंडम। एमडब्ल्यूसी सिस्टम। आईओ.यूएनएएफ़ए & gt; च = असुरक्षितप्रोफॉर्मियो (वर्दीआर (0, 30) जीएन :: आईओ इन्ट) प्रील्यूड सिस्टम। रैंडम.एमडब्ल्यूसी सिस्टम। आईओओएन्साफे & gt; पी 11 प्रेस सिस्टम। रैंडम। एमडब्ल्यूसी सिस्टम.आईओ.यूएनएएफ़ए & gt; : Tpp :: int  

हालांकि जीएचसी में

  आयात करें सिस्टम। रैंडम। एमडब्ल्यूसी आयात सिस्टम। आईओ.यूएनएसएफ़ मुख्य :: आईओ () मुख्य = डू जनरल & lt; -createSystemRandom प्रिंट $! एस 30 जीएन :: इंट- & gt; जीनियो - & gt; Int s! K g = unsafePerformIO (uniformR (0, k - 1) g)  

यह देता है

  ghc: panic! ('असंभव' हुआ) (i386-अज्ञात-लिनक्स के लिए जीएचसी संस्करण 7.6.3): make_exp (ऐप _ (कसरशन _)) कृपया इसकी रिपोर्ट एक जीएचसी बग के रूप में करें: http://www.haskell.org/ghc/ Reportabug  

यहां असुरक्षितप्रोफॉर्मियो के लिए वास्तव में कोई ज़रूरत नहीं है। बस s को बदलने के लिए IO int को बदलने और परिणाम को print पर फ़ीड करने के लिए डॉट-नोटेशन या बाइंड ऑपरेटर का उपयोग करें।

<पूर्व> s :: int - & gt; जीनियो - & gt; IO Int skg = uniformR (0, k - 1) g main :: IO () मुख्य = do gen & lt; - createSystemRandom x & lt; - s 30 जनरल प्रिंट x

या

  मुख्य = do gen & lt; - createSystemRandom प्रिंट = & lt; & lt; S 30 gen  

या

  मुख्य = प्रिंट = & lt; & lt; S 30 = & lt; & lt; CreateSystemRandom  

Comments

Popular posts from this blog

ios - How do I use CFArrayRef in Swift? -

eclipse plugin - Run java code error: Workspace is closed -

c - Error on building source code in VC 6 -