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
Post a Comment