undefined
हैस्केल में आंशिक सूची है?हास्केल में आंशिक सूची को परिभाषित किया गया है?
मुझे पता है कि [1,2:undefined]
आंशिक है लेकिन लगभग undefined
अकेले क्या है?
undefined
हैस्केल में आंशिक सूची है?हास्केल में आंशिक सूची को परिभाषित किया गया है?
मुझे पता है कि [1,2:undefined]
आंशिक है लेकिन लगभग undefined
अकेले क्या है?
मुझे कार्यात्मक प्रोग्रामिंग के परिचय में मेरे प्रश्न का उत्तर मिला है। | उर्फ अपरिभाषित एक आंशिक सूची है (उनके लिए प्रेरण का आधार)
undefined
एक ऐसा फ़ंक्शन है जो त्रुटि का कारण बनता है यदि आप इसका मूल्यांकन करने का प्रयास करते हैं। (हालांकि, अगर आप यह मूल्यांकन करने के लिए कोशिश मत करो, यह कोई नुकसान नहीं करता है।) के undefined
के लिए प्रकार हस्ताक्षर जांच:
ghci> :t undefined
undefined :: a
कि a
एक प्रकार चर रहा है, और के बाद से वहाँ कोई कमी में पहचान कर रहे हैं प्रकार हस्ताक्षर (टाइप बाधा ::
और =>
प्रतीकों के बीच दिखाई देती है), a
प्रकार का हो सकता है।
मुझे यकीन नहीं है कि आप वास्तव में :
अपने उदाहरण में चाहते हैं।
[1,2,undefined]
पूर्णांक की एक सूची है, इसलिए इस अभिव्यक्ति में undefined
का प्रकार भी एक पूर्णांक है।
(1:2:undefined)
पूर्णांक की एक सूची भी है, लेकिन :
अपनी दूसरी तर्क के रूप में एक सूची लेता है, इसलिए इस अभिव्यक्ति में undefined
का प्रकार पूर्णांक की एक सूची है।
मुझे नहीं लगता कि [1,2:undefined]
समझ में आता है। 1
एक पूर्णांक है, लेकिन 2:undefined
एक सूची पूर्णांक का है। आपके पास विभिन्न प्रकार के तत्वों के साथ एक सूची नहीं हो सकती है।
संपादित करें:
undefined
, एक आंशिक सूची * नहीं वास्तव में है कि यह सिर्फ एक एकल मान (जो, किसी भी प्रकार की हो सकती है एक सूची सहित) है। उदाहरण के लिए, [1,2,undefined]
तीन तत्वों वाली एक सूची है। पहला तत्व 1
है, दूसरा तत्व 2
है, और तीसरे तत्व का मूल्यांकन नहीं किया जा सकता है - लेकिन यह एक पूर्णांक है।
* हालांकि, अंतिम तत्व के रूप में undefined
के साथ एक सूची का उपयोग कुछ प्रकार की "आंशिक सूची" का प्रतिनिधित्व करने के लिए किया जा सकता है, जैसा कि आप उस तत्व का मूल्यांकन नहीं कर सकते हैं। (मुझे लगता है कि @ डैनियल का मतलब है)। हालांकि, अगर से पहले तत्व हैं या के बाद, तो आप उनका मूल्यांकन कर सकते हैं।
ghci> last [1,2,undefined,4]
4
संपादित करें # 2: उदाहरण के लिए:
एक अन्य उदाहरण है मदद कर सकता है। यहां मैंने चार तत्वों के साथ एक सूची बनाई है, जिनमें से एक (c
) undefined
है। जब मैं c
के प्रकार को खोजने के लिए ghci से पूछता हूं, तो मुझे लगता है कि यह केवल एक पूर्णांक है, सूची नहीं।
ghci> let (a:b:c:d) = [1,2,undefined,4]
ghci> :type c
c :: Integer
हाँ लेकिन अपरिभाषित है प्रत्येक प्रकार का एक हैकेल में मैं पूछ रहा हूं कि एक सूची आंशिक सूची को परिभाषित नहीं है। – user2184057
ऊपर मेरा संपादन देखें। – mhwombat
'1: 2: अपरिभाषित 'पर, अपरिभाषित प्रकार' इंटीजर 'नहीं है लेकिन' 1 इंटीजर]' ':: इंटेगर' पर विचार कर रहा है। – Satvik
आपका प्रश्न स्पष्ट नहीं है क्योंकि टिप्पणियों की ओर इशारा किया गया है लेकिन चलिए कुछ धारणाएं करते हैं। सबसे पहले आप आंशिक सूची के उदाहरण के रूप में 1:2:undefined
लिखना चाहते थे।
> let p1 = 1:2:undefined
> :t p1
p1 :: [Integer]
तो पी 1 में दो तत्व हैं और शेष अनिर्धारित है जो इसे किसी अर्थ में आंशिक सूची बनाता है। इस परिभाषा के बाद इस प्रकार के चेक:
> let p2 = undefined :: [Int]
> :t p2
p2 :: [Int]
इसमें 0 तत्व हैं और शेष अनिर्धारित है। हम इसे एक खाली आंशिक सूची कह सकते हैं।
इसके बारे में सोचने का एक और तरीका यह है कि p1
[1,2] ++ undefined
और p2
[] ++ undefined
जैसा ही है।
मुझे "आंशिक सूची" की औपचारिक आधिकारिक परिभाषा के बारे में पता नहीं है, लेकिन आमतौर पर, 'अपरिभाषित', जब किसी सूची प्रकार में उपयोग किया जाता है, को माना जाता है आंशिक सूची। –
क्या आप कृपया परिभाषित कर सकते हैं कि _a आंशिक list_ द्वारा आपका क्या मतलब है? –