खोज…


टिप्पणियों

यह [Data.Vector] पाश संलयन के माध्यम से बहुत उच्च प्रदर्शन पर जोर देता है, जबकि एक समृद्ध इंटरफ़ेस को बनाए रखता है। मुख्य डेटा प्रकार बॉक्सिंग और अनबॉक्स किए गए सरणियाँ हैं, और सरणियाँ अपरिवर्तनीय (शुद्ध), या परिवर्तनशील हो सकती हैं। Arrays, C से और पास करने के लिए उपयुक्त, मनमोहक तत्वों को पकड़ सकता है और आप सरणी प्रकारों के बीच परिवर्तित कर सकते हैं। गैर-नकारात्मक Int मानों द्वारा अनुक्रमित किए जाते हैं।

हास्केल विकी की ये सिफारिशें हैं :

सामान्य रूप में:

  • अधिकांश मामलों के लिए अंतिम उपयोगकर्ताओं को Data.Vector.Unboxed का उपयोग करना चाहिए
  • यदि आपको अधिक जटिल संरचनाओं को संग्रहीत करने की आवश्यकता है, तो Data.Vector का उपयोग करें
  • यदि आपको C पास करने की आवश्यकता है, तो Data.Vector.Storable का उपयोग करें

पुस्तकालय लेखकों के लिए;

  • जेनेरिक इंटरफ़ेस का उपयोग करें, यह सुनिश्चित करने के लिए कि आपकी लाइब्रेरी अधिकतम लचीली है: Data.Vector.Generic

डेटा.वेक्टर मॉड्यूल

वेक्टर द्वारा प्रदान किया गया Data.Vector मॉड्यूल सरणियों के साथ काम करने के लिए एक उच्च प्रदर्शन पुस्तकालय है।

एक बार जब आप Data.Vector आयात कर Data.Vector , तो Vector का उपयोग शुरू करना आसान होता है:

Prelude> import Data.Vector
Prelude Data.Vector> let a = fromList [2,3,4]
 
Prelude Data.Vector> a
fromList [2,3,4] :: Data.Vector.Vector
 
Prelude Data.Vector> :t a
a :: Vector Integer

तुम भी एक बहु आयामी सरणी हो सकता है:

Prelude Data.Vector> let x = fromList [ fromList [1 .. x] | x <- [1..10] ]
 
Prelude Data.Vector> :t x
x :: Vector (Vector Integer)

एक वेक्टर को छानना

विषम तत्वों को फ़िल्टर करें:

Prelude Data.Vector> Data.Vector.filter odd y
fromList [1,3,5,7,9,11] :: Data.Vector.Vector

मैपिंग (`नक्शा`) और एक वेक्टर को कम करना (` गुना`)

वेक्टर्स map 'डी और fold'd, फिल्टर 'd and जिप'एड हो सकते हैं:

Prelude Data.Vector> Data.Vector.map (^2) y
fromList [0,1,4,9,16,25,36,49,64,81,100,121] :: Data.Vector.Vector

एक मान को कम करें:

Prelude Data.Vector> Data.Vector.foldl (+) 0 y
66

एकाधिक क्षेत्रों पर कार्य करना

जोड़े के एक सरणी में दो सरणियों को ज़िप करें:

Prelude Data.Vector> Data.Vector.zip y y
fromList [(0,0),(1,1),(2,2),(3,3),(4,4),(5,5),(6,6),(7,7),(8,8),(9,9),(10,10),(11,11)] :: Data.Vector.Vector


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