ট্র্যাক
/
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

নির্দেশনা

হতে-চলো যাদুকর হিসেবে Elyse-কে কিছু বেসিক বিষয় অনুশীলন করতে হবে। তার কাছে একটি তাসের ডেক আছে, যা নিয়ে সে কাজ করতে চায়।

কাজটা একটু সহজ করার জন্য সে শুধু ১ থেকে ১০ নম্বরের তাস ব্যবহার করে।

1. ডেক থেকে একটি তাস বের করা

প্রদত্ত ডেক থেকে index অবস্থানের তাসটি রিটার্ন করে এমন getCard ফাংশনটি ইমপ্লিমেন্ট করুন। যদি index ডেকে না থাকে, তাহলে Nothing রিটার্ন করুন।

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

2. ডেকে একটি তাস পরিবর্তন করা

index অবস্থানের তাসটি প্রদত্ত নতুন তাসে পরিবর্তিত করে এমন একটি ডেক রিটার্ন করে setCard ফাংশনটি ইমপ্লিমেন্ট করুন। যদি 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. ডেক থেকে একটি তাস সরানো

index অবস্থানের তাসটি সরিয়ে ফেলা একটি ডেক রিটার্ন করে removeCard ফাংশনটি ইমপ্লিমেন্ট করুন। যদি প্রদত্ত 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টি অনুশীলনী আর সত্যিকারের মানুষের মেন্টরিং দিয়ে শিখুন ও দক্ষ হয়ে উঠুন, সম্পূর্ণ বিনামূল্যে।