ट्रैक
/
Elm
Elm
/
अभ्यास
/
प्रशिक्षु जादूगर
प्रशिक्षु जादूगर

प्रशिक्षु जादूगर

सीखने का अभ्यास

परिचय

ऐरे

Elm में Array एक ही टाइप की शून्य या अधिक वैल्यू का तेज़ और अपरिवर्तनीय संग्रह है।

List के विपरीत, जो एक डिफ़ॉल्ट इम्पोर्ट है, Array मॉड्यूल को स्पष्ट रूप से इम्पोर्ट करना पड़ता है, import Array या उसी तरह की किसी लाइन से।

ऐरे को इस तरह परिभाषित किया जा सकता है:

import Array exposing (Array)

empty : Array Char
empty = Array.empty

singleValue = Array.fromList [ 5 ] --> Array Int

repeatSingleValue = Array.repeat 2 5 --> Array.fromList [ 5, 5 ]

initialiseFromIndex = Array.initialise 3 (\index -> index * 2) --> Array.fromList [ 0, 2, 4 ]

initialisefromList = Array.fromList [ "a", "b", "c" ] --> Array.fromList [ "a", "b", "c" ]

ऐरे में एलिमेंट जोड़ने के लिए Array.push का उपयोग किया जाता है:

twoToFour = Array.fromList [ 2, 3, 4 ]
oneToFour = Array.push 1 twoToFour --> Array.fromList [ 1, 2, 3, 4 ]

ऐरे का कोई एलिमेंट Array.get से प्राप्त किया जाता है:

sixSeven = Array.fromList [ 6, 7 ]
Array.get 0 sixSeven --> Just 6

ऐरे में किसी एलिमेंट को सेट करने के लिए Array.set का उपयोग किया जाता है:

sixSeven = Array.fromList [ 6, 7 ]
Array.set 1 8 sixSeven --> Array.fromList [ 6, 8 ]

ऐरे पर काम करने वाले फंक्शन Array मॉड्यूल में परिभाषित हैं।

oneTwo = Array.fromList [ 1, 2 ]
Array.length oneTwo --> 2

निर्देश

बनती हुई जादूगरनी एलिस को कुछ बुनियादी बातों का अभ्यास करना है। उसके पास ताश के पत्तों का एक डेक है, जिसे वह अपने हिसाब से बदलना चाहती है।

चीज़ें थोड़ी आसान रखने के लिए वह सिर्फ 1 से 10 तक के पत्ते इस्तेमाल करती है।

1. डेक से एक पत्ता निकालिए

getCard फंक्शन बनाइए जो दिए गए डेक में index स्थान पर रखा पत्ता लौटाता है। अगर वह इंडेक्स डेक में मौजूद न हो, तो Nothing लौटाइए।

getCard 2 ( Array.fromList [ 1, 2, 4, 1 ] )
    --> Just 4
getCard 6 ( Array.fromList [ 1, 2, 4, 1 ] )
    --> Nothing

2. डेक में एक पत्ता बदलिए

setCard फंक्शन बनाइए जो एक ऐसा डेक लौटाता है जिसमें index स्थान वाला पत्ता बदलकर दिया गया नया पत्ता कर दिया गया हो। अगर index डेक में न हो, तो मूल डेक ही लौटाइए।

setCard 2 6 ( Array.fromList [ 1, 2, 4, 1 ] )
    --> Array.fromList [ 1, 2, 6, 1 ]
setCard 6 6 ( Array.fromList [ 1, 2, 4, 1 ] )
    --> Array.fromList [ 1, 2, 4, 1 ]

3. डेक में एक पत्ता जोड़िए

addCard फंक्शन बनाइए जो नया पत्ता जोड़कर डेक लौटाता है।

addCard 8 ( Array.fromList [ 5, 9, 7, 1 ] )
    --> Array.fromList [ 5, 9, 7, 1, 8 ]

4. डेक से एक पत्ता हटाइए

removeCard फंक्शन बनाइए जो एक ऐसा डेक लौटाता है जिसमें से index स्थान वाला पत्ता हटा दिया गया हो। अगर दिया गया index डेक का कोई मान्य इंडेक्स न हो, तो मूल डेक ही लौटाइए।

removeCard 2 ( Array.fromList [ 3, 2, 6, 4, 8 ] )
    --> Array.fromList [ 3, 2, 4, 8 ]
removeCard 2 ( Array.fromList [ 3, 2 ] )
    --> Array.fromList [ 3, 2 ]

5. डेक में सम पत्तों की गिनती कीजिए

evenCardCount फंक्शन बनाइए जो डेक में सम संख्या वाले पत्तों की गिनती करता है।

evenCardCount (Array.fromList [ 3, 8, 4, 5, 1, 6, 10 ] )
    --> 4
GitHub के ज़रिए संपादित करें यह लिंक एक नई विंडो या टैब में खुलता है
Elm Exercism

प्रशिक्षु जादूगर शुरू करने के लिए तैयार हैं?

Exercism पर साइन अप कीजिए और Elm को 28 कॉन्सेप्ट110 अभ्यास तथा असली इंसानों से मिलने वाली मेंटरिंग के साथ सीखिए और उसमें महारत हासिल कीजिए, वह भी बिल्कुल मुफ्त।