Elm-এ একটি List হলো একই টাইপের শূন্য বা ততোধিক মানের একটি অপরিবর্তনীয় কালেকশন।
অ্যারে এভাবে ডিফাইন করা যায়:
empty = []
singleValue = [ 5 ]
threeValues = [ "a", "b", "c" ]
অ্যারেতে একটি এলিমেন্ট যোগ করার সবচেয়ে কমন উপায় হলো :: (কনস) অপারেটর:
twoToFour = [ 2, 3, 4 ]
oneToFour = 1 :: twoToFour --> [ 1, 2, 3, 4 ]
অ্যারে নিয়ে কাজ করা হয় List মডিউলে ডিফাইন করা ফাংশন ও অপারেটর দিয়ে, অথবা প্যাটার্ন ম্যাচিং দিয়ে।
describe : List String -> String
describe list =
case list of
[] ->
"Empty list"
[ "hello" ] ->
"Singleton list with: hello"
x :: xs ->
"Non-empty list with head: " ++ x
describe [] --> "Empty list"
describe [ "hello" ] --> "Singleton list with: hello"
describe [ "hello", "world" ] --> "Non-empty list with head: hello"
এই অনুশীলনীতে আপনি Exercism-এ শিখতে চান এমন প্রোগ্রামিং ভাষার একটি অ্যারের হিসাব রাখার কোড লিখবেন। এখানে ছয়টি কাজ আছে, যার প্রতিটিতেই অ্যারে নিয়ে কাজ করতে হবে।
আপনি যে ভাষাগুলো শিখতে চান সেগুলোর হিসাব রাখতে হলে একটি নতুন অ্যারে তৈরি করতে হবে।
একটি নতুন, খালি অ্যারে ধারণ করে এমন newList কনস্ট্যান্ট ডিফাইন করুন।
newList
--> []
এই মুহূর্তে আপনার কাছে কাগজের একটি টুকরো আছে, যেখানে আপনি যে ভাষাগুলো শিখতে চান সেগুলো লেখা আছে: Elm, Clojure আর Haskell।
এই অ্যারেটি বোঝাতে existingList কনস্ট্যান্ট ডিফাইন করুন।
existingList
--> [ "Elm", "Clojure", "Haskell" ]
Exercism ঘুরে ঘুরে যখন আরও মজার ভাষা খুঁজে পাবেন, তখন সেগুলো আপনার অ্যারেতে যোগ করতে চাইবেন।
আপনার অ্যারের শুরুতে একটি নতুন ভাষা যোগ করতে addLanguage ফাংশনটি ইমপ্লিমেন্ট করুন।
addLanguage "TypeScript" [ "JavaScript", "CoffeeScript" ]
--> [ "TypeScript", "JavaScript", "CoffeeScript" ]
হাতে হাতে ভাষাগুলো গণনা করা অসুবিধাজনক।
আপনার অ্যারেতে কতগুলো ভাষা আছে গণনা করতে countLanguages ফাংশনটি ইমপ্লিমেন্ট করুন।
countLanguages [ "C#", "Racket", "Rust", "Ruby" ]
--> 4
একপর্যায়ে আপনি বুঝতে পারবেন, আপনার অ্যারেটি আসলে উল্টো ক্রমে সাজানো!
আপনার অ্যারেটি উল্টে দিতে reverseList ফাংশনটি ইমপ্লিমেন্ট করুন।
reverseList [ "Prolog", "C", "Idris", "Assembly" ]
--> [ "Assembly", "Idris", "C", "Prolog" ]
আপনি সব ভাষাই ভালোবাসেন, তবে Elm-এর জন্য আপনার হৃদয়ে বিশেষ একটি জায়গা আছে। তাই একটি ভাষার অ্যারে নিয়ে আপনি সত্যিই উত্তেজিত হবেন যদি:
কোনো ভাষার অ্যারে উত্তেজনাকর কিনা যাচাই করতে excitingList ফাংশনটি ইমপ্লিমেন্ট করুন:
excitingList [ "Nim", "Elm" ]
--> True
Exercism-এ সাইন আপ করুন, Elm ট্র্যাকের 28টি কনসেপ্ট110টি অনুশীলনী আর সত্যিকারের মানুষের মেন্টরিং দিয়ে শিখুন ও দক্ষ হয়ে উঠুন, সম্পূর্ণ বিনামূল্যে।