कहें कि मेरे पास 1 से MAGIC_NUMBER तक की संख्याओं की एक सूची है - क्या कोई तरीका है कि मैं इसे पहले घोषित कर सकता हूं?जादू संख्या से बचने के लिए, मैं हैकेल में स्थिरांक का उपयोग कैसे करूं?
उत्तर
आप अपने सभी गणना में बीजीय डेटा का उपयोग कर सकते हैं और कुछ नामित मूल्यों का उपयोग करता है, तो वे वास्तव में "जादू" कर रहे हैं, या निर्माण करने के लिए "जादू" संख्या बीजीय मूल्यों की प्रस्तुत करना और कई और अधिक:
class FlagsMask f where mask :: f -> Int
data Magics = Alpha | Beta | Gamma
deriving (Enum, Read, Show, Eq, Ord)
instance FlagsMask Magics where
mask m = 2^fromEnum m
data PermsFlag = FlagRead | FlagWrite | FlagExec | FlagSuper
-- [flagRead, flagWrite, flagExec] = [2^n | n <- [0..2]]
(flagRead : flagWrite : flagExec : _) = [2^n | n <- [0..]]
flagSuper = 16
instance FlagsMask PermsFlag where
mask FlagRead = flagRead
mask FlagWrite = flagWrite
mask FlagExec = flagExec
mask FlagSuper = flagSuper
*Main> map fromEnum [Alpha .. ] [0,1,2] it :: [Int] *Main> zip [Alpha .. ] [1..] [(Alpha,1),(Beta,2),(Gamma,3)] it :: [(Magics, Integer)]
निश्चित रूप से। वास्तव में, यह देखते हुए कि हास्केल पूरी तरह कार्यात्मक है, एक निरंतर की तुलना में निरंतर परिभाषित करना बहुत आसान है।
magicNumber = 42
magicList = [1..magicNumber]
चक और ओनी के उत्तर सही हैं। दूसरी पंक्ति में magicNum
एक पैटर्न सबसे मेल खाता है कि, बस f x = 'A'
की तरह है -
magicNum = 42
f magicNum = 'A'
f _ = 'B'
नहीं है कि तुम क्या उम्मीद कर सकते हैं: वहाँ एक जाल आप के बारे में पता होना चाहिए। f x | x == magicNum = 'A'
का उपयोग करें।
वास्तव में, आप मानक ऑपरेटरों को इस तरह से भी पुनर्जीवित कर सकते हैं। उदाहरण के लिए, यदि आप 'f (==) फ़ंक्शन को परिभाषित करते हैं तो b = a == b', और फिर' f div 8 4' पर कॉल करें, परिणाम 2 होगा, झूठी नहीं। (यह निश्चित रूप से, एक रोगजनक बात करने के लिए है।) – Chuck
- 1. जादू संख्याओं से जुड़े वैश्विक स्थिरांक के लिए सर्वोत्तम अभ्यास
- 2. मैं पर्ल मॉड्यूल से स्थिरांक का उपयोग कैसे करूं?
- 3. मैं वैज्ञानिक संख्या में आउटपुट संख्याओं के लिए हैकेल कैसे प्राप्त करूं?
- 4. मैं अपने एसक्यूएल स्क्रिप्ट/procs पर हार्ड कोडिंग जादू संख्या के बिना टीएसक्यूएल में एनम्स का उपयोग कैसे करूं?
- 5. मैं सी # में यादृच्छिक संख्या का उपयोग कैसे करूं?
- 6. मैं विजुअल सी ++ 2008 में गणित स्थिरांक (उदाहरण के लिए एमएफआई) का उपयोग कैसे करूं?
- 7. मैं संख्या पंक्तियों में प्लीयर का उपयोग कैसे करूं?
- 8. "जादू संख्या" एसएफएस
- 9. जेडीबीसी प्रश्नों में चेकस्टाइल जादू संख्या त्रुटियों से बचें
- 10. मैं $ फ़ील्ड वैकल्पिक पैरामीटर के साथ findBy जादू खोजने के कार्यों का उपयोग कैसे करूं?
- 11. मैं rand_r का उपयोग कैसे करूं और मैं थ्रेड सुरक्षित तरीके से इसका उपयोग कैसे करूं?
- 12. वेग में # से बचने के लिए कैसे
- 13. मैं हास्केल में फ़िल्टर फ़ंक्शन का उपयोग कैसे करूं?
- 14. मैं एक चर के लिए यादृच्छिक संख्या कैसे आवंटित करूं?
- 15. खराब जादू संख्या त्रुटि क्या है?
- 16. मैं सी ++ में स्ट्रिंग स्थिरांक कैसे परिभाषित करूं?
- 17. मैं PHP में परिभाषित स्थिरांक की जांच कैसे करूं?
- 18. बाइनरी फ़ाइल का जादू संख्या कैसे प्राप्त करें
- 19. मैं माइक्रोकंट्रोलर में यादृच्छिक संख्या कैसे कुशलता से उत्पन्न करूं?
- 20. क्या जादू स्ट्रिंग कुंजियों से बचने के लिए स्ट्रिंग स्थिर कुंजी का उपयोग करना अच्छा विचार है?
- 21. मैं अपने फ़ाइल प्रारूप के लिए एक अच्छा जादू संख्या कैसे चुनूं?
- 22. एक्स-फ़्रेम-विकल्प शीर्षलेख जोड़ने से बचने के लिए मैं सिनात्रा कैसे प्राप्त करूं?
- 23. कैसे से बचने के लिए अपरिभाषित ऑफसेट
- 24. मैं जीडीबी में # परिभाषित स्थिरांक कैसे मुद्रित करूं?
- 25. जेपीए एनोटेशन पर जादू संख्या सोनार उल्लंघन
- 26. तारों में आसानी से चर का विस्तार करने के लिए मैं पायथन का उपयोग कैसे करूं?
- 27. मैं प्रॉक्सी के माध्यम से मेवेन का उपयोग कैसे करूं?
- 28. यदि मैं एक फ्लोटिंग पॉइंट नंबर हैकेल में एक पूर्णांक है तो मैं कैसे परीक्षण करूं?
- 29. मैं शैल स्क्रिप्टिंग के लिए रूबी का उपयोग कैसे करूं?
- 30. पुष्टि के लिए मैं jQueryUI संवाद का उपयोग कैसे करूं?
"घोषित संख्या" से आपका क्या मतलब है? – ony
आपको एक बहुत ही महत्वपूर्ण बिंदु स्पष्ट करना चाहिए: आप जादू संख्या कब जानते हैं? यदि आप इसे संकलित समय पर जानते हैं तो चक के पास सही जवाब है। –