Haskell Language
कंटेनर - Data.Map
खोज…
निर्माण
हम इस तरह से 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
।