Elixir:
সাবস্ট্রিং বের করা
কিভাবে:
এলিক্সিরে, আপনি String
মডিউল ব্যবহার করে সাবস্ট্রিং এক্সট্রাক্ট করতে পারেন। এই রকম:
str = "Hello, World!"
# রেঞ্জ দ্বারা একটি সাবস্ট্রিং এক্সট্রাক্ট করা
substr = String.slice(str, 7, 5)
IO.puts(substr) # => World
# স্ট্রিংয়ের শেষ পর্যন্ত একটি সাবস্ট্রিং এক্সট্রাক্ট করা
substr_end = String.slice(str, 7)
IO.puts(substr_end) # => World!
# একটি একক অক্ষর পাওয়া (টেকনিকালি এটিও একটি সাবস্ট্রিং)
char = String.at(str, 1)
IO.puts(char) # => e
এই স্নিপেটগুলি দেখায় স্ট্রিংকে ইনডেক্স রেঞ্জ দ্বারা, স্ট্রিংয়ের শেষ পর্যন্ত, এবং একটি একক অক্ষর গ্রহণ করা।
গভীর ডুব দেওয়া
এলিক্সিরের স্ট্রিং সম্পর্কিত ধারণা এটির এরলাং ঐতিহ্য দ্বারা প্রভাবিত, যা স্ট্রিং সঞ্চয়ের জন্য বাইনারিজ ব্যবহার করে। নাল-টার্মিনেটেড স্ট্রিং ব্যবহার করে যেমন ভাষাগুলিতে এক্সট্রাকশন হয়, এলিক্সির তার থেকে ভিন্ন। এলিক্সিরের সাবস্ট্রিংগুলি ইউটিএফ-8 এবং বাইনারি-নিরাপদ, অর্থাৎ এগুলি অক্ষরের সীমাবদ্ধতা মেনে চলে।
অতীতে, বিভিন্ন প্রোগ্রামিং ভাষা এবং সিস্টেমগুলিতে স্ট্রিং হ্যান্ডেল করার নিজস্ব উপায় ছিল, যা প্রায়ই আন্তর্জাতিকীকরণ এবং মেমরি ম্যানেজমেন্টে সমস্যা তৈরি করত। এলিক্সিরের বাইনারি-ভিত্তিক স্ট্রিংগুলি একটি বিশ্বব্যাপী এবং দক্ষ পদ্ধতি প্রদান করে স্ট্রিং ম্যানিপুলেশনের জন্য।
এলিক্সিরে String.slice
এবং String.at
ছাড়াও সাবস্ট্রিং এক্সট্রাক্ট করার বিকল্পগুলি মূলত রেগেক্স অপারেশনস অথবা স্ট্রিং প্যাটার্ন ম্যাচিং জড়িত, যা উভয়ই শক্তিশালী হতে পারে কিন্তু আরও জটিল হতে পারে।
বাস্তবায়নের বিস্তারিত ব্যাপার অত্যন্ত জরুরি কারণ সাবস্ট্রিং এক্সট্রাকশন হতে পারে সম্পদ ব্যবহারের দিক থেকে ইনটেনসিভ, বিশেষ করে যখন বড় স্ট্রিংগুলির ভুলভাবে হ্যান্ডলিং অথবা বহু অপারেশন পরিচালনা করা হয়। এলিক্সিরের ফাংশনাল প্রকৃতি স্ট্রিংগুলি প্রক্রিয়া করার একটি উপায় উৎসাহিত করে, যা প্যাটার্ন ম্যাচিং এবং রিকার্শনের সুবিধা নিয়ে কাজ করে, যা পারফর্মেন্স এবং কোডের পরিষ্কারতায় সাহায্য করতে পারে।
আরও দেখুন
আরও পড়াশোনা এবং বিস্তারিত ডকুমেন্টেশনের জন্য, আপনি এই লিংকগুলি দেখতে পারেন:
- এলিক্সিরের অফিসিয়াল
String
মডিউল ডকুমেন্টেশন: hexdocs.pm/elixir/String.html - এলিক্সিরে বাইনারি এবং স্ট্রিংগুলি বুঝতে: elixir-lang.org/getting-started/binaries-strings-and-char-lists.html
- এলিক্সির স্কুলের স্ট্রিং এবং প্যাটার্ন ম্যাচিং সম্পর্কে: elixirschool.com/en/lessons/basics/strings এবং elixirschool.com/en/lessons/basics/pattern-matching
- এলিক্সিরে রেগুলার এক্সপ্রেশন: hexdocs.pm/elixir/Regex.html