खोज…


निर्माण

हम इस तरह से tuples की एक सूची से एक नक्शा बना सकते हैं:

Map.fromList [("Alex", 31), ("Bob", 22)]

एक मान के साथ एक नक्शा भी बनाया जा सकता है:

> Map.singleton "Alex" 31
fromList [("Alex",31)]

empty फंक्शन भी है।

empty :: Map k a

Data.Map विशिष्ट सेट संचालन जैसे कि union , difference और intersection का भी समर्थन करता है।

अगर खाली है तो जाँच

किसी दिए गए नक्शे के खाली होने पर जाँच करने के लिए हम null फ़ंक्शन का उपयोग करते हैं:

> Map.null $ Map.fromList [("Alex", 31), ("Bob", 22)]
False

> Map.null $ Map.empty
True

मान ढूँढना

नक्शे पर कई क्वेरी संचालन हैं।

member :: Ord k => k -> Map ka -> Bool पैदावार True अगर टाइप k की कुंजी Map ka :

> Map.member "Alex" $ Map.singleton "Alex" 31
True
> Map.member "Jenny" $ Map.empty
False

notMember समान है:

> Map.notMember "Alex" $ Map.singleton "Alex" 31
False
> Map.notMember "Jenny" $ Map.empty
True

यदि आप कुंजी मौजूद नहीं हैं, तो आप findWithDefault :: Ord k => a -> k -> Map ka -> a भी उपयोग कर सकते हैं:

Map.findWithDefault 'x' 1 (fromList [(5,'a'), (3,'b')]) == 'x'
Map.findWithDefault 'x' 5 (fromList [(5,'a'), (3,'b')]) == 'a'

तत्वों को सम्मिलित करना

तत्वों को सम्मिलित करना सरल है:

> let m = Map.singleton "Alex" 31
fromList [("Alex",31)]

> Map.insert "Bob" 99 m
fromList [("Alex",31),("Bob",99)]

तत्वों को हटाना

> let m = Map.fromList [("Alex", 31), ("Bob", 99)]
fromList [("Alex",31),("Bob",99)]

> Map.delete "Bob" m
fromList [("Alex",31)]

मॉड्यूल आयात कर रहा है

containers पैकेज में Data.Map मॉड्यूल एक Map संरचना प्रदान करता है जिसमें सख्त और आलसी दोनों कार्यान्वयन होते हैं।

Data.Map का उपयोग करते Data.Map , आम तौर पर पहले से परिभाषित कार्यों के साथ झड़पों से बचने के लिए यह योग्य होता है।

import qualified Data.Map as Map

तो हम Map साथ Map. फंक्शन कॉल को प्रीपेन्ड करेंगे Map. , उदा

Map.empty -- give me an empty Map

मोनॉयड उदाहरण

Map kv निम्नलिखित शब्दार्थ के साथ एक मोनॉइड उदाहरण प्रदान करता है:

  • mempty रिक्त Map , अर्थात Map.empty के समान
  • m1 <> m2 के बाएं पक्षपातपूर्ण संघ है m1 और m2 , यानी अगर किसी भी कुंजी में दोनों मौजूद है m1 और m2 , फिर से मूल्य m1 के लिए चुना जाता है m1 <> m2 । इस आपरेशन भी उपलब्ध बाहर है Monoid के रूप में उदाहरण के Map.union


Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow