Elixir-এ স্ট্রিং ডাবল কোট দিয়ে ঘেরা হয় এবং সেগুলো UTF-8-এ এনকোড করা হয়:
"Hi!"
<>/2 অপারেটর দিয়ে স্ট্রিংগুলো সংযুক্ত করা যায়:
"Welcome to" <> " " <> "New York"
# => "Welcome to New York"
Elixir-এর স্ট্রিংগুলো #{} সিনট্যাক্স ব্যবহার করে ইন্টারপোলেশন সমর্থন করে:
"6 * 7 = #{6 * 7}"
# => "6 * 7 = 42"
একটি স্ট্রিংয়ে নিউলাইন ক্যারেক্টার বসাতে \n এস্কেপ কোড ব্যবহার করুন:
"1\n2\n3\n"
অনেক নিউলাইন আছে এমন টেক্সট নিয়ে সহজে কাজ করার জন্য বদলে ট্রিপল-ডাবল-কোট হেরেডক সিনট্যাক্স ব্যবহার করুন:
"""
1
2
3
"""
Elixir String মডিউলে স্ট্রিং নিয়ে কাজ করার জন্য অনেক ফাংশন প্রদান করে।
|> অপারেটরকে পাইপ অপারেটর বলা হয়। এটি এমনভাবে একাধিক ফাংশন কল একসাথে চেইন করতে ব্যবহার করা যায়, যাতে আগের ফাংশন কল থেকে রিটার্ন করা মান পরের ফাংশন কলে প্রথম আর্গুমেন্ট হিসেবে পাস হয়।
"hello"
|> String.upcase()
|> Kernel.<>("?!")
# => "HELLO?!"
এই অনুশীলনীতে আপনি হাই স্কুলের প্রেমিক-প্রেমিকাদের সোশ্যাল মিডিয়ায় তাদের ভালোবাসা প্রকাশ করতে সাহায্য করবেন, তাদের নামের আদ্যক্ষর দিয়ে একটি ASCII বক্স তৈরি করে:
❤-------------------❤
| J. K. + M. B. |
❤-------------------❤
HighSchoolSweetheart.first_letter/1 ফাংশনটি ইমপ্লিমেন্ট করুন। এটি একটি নাম নেবে এবং তার প্রথম অক্ষর রিটার্ন করবে। নাম থেকে অপ্রয়োজনীয় হোয়াইটস্পেস পরিষ্কার করবে।
HighSchoolSweetheart.first_letter("Jane")
# => "J"
HighSchoolSweetheart.initial/1 ফাংশনটি ইমপ্লিমেন্ট করুন। এটি একটি নাম নেবে এবং তার প্রথম অক্ষর বড় হাতের অক্ষরে, শেষে একটি বিন্দু দিয়ে রিটার্ন করবে। আগের ধাপে আপনি যে HighSchoolSweetheart.first_letter/1 ডিফাইন করেছিলেন, সেটি আবার ব্যবহার করতে ভুলবেন না।
HighSchoolSweetheart.initial("Robert")
# => "R."
HighSchoolSweetheart.initials/1 ফাংশনটি ইমপ্লিমেন্ট করুন। এটি একটি পূর্ণ নাম নেবে, যেখানে প্রথম নাম ও শেষ নাম একটি স্পেস দিয়ে আলাদা করা, এবং আদ্যক্ষরগুলো রিটার্ন করবে। আগের ধাপে আপনি যে HighSchoolSweetheart.initial/1 ডিফাইন করেছিলেন, সেটি আবার ব্যবহার করতে ভুলবেন না।
HighSchoolSweetheart.initials("Lance Green")
# => "L. G."
HighSchoolSweetheart.pair/2 ফাংশনটি ইমপ্লিমেন্ট করুন। এটি দুটি পূর্ণ নাম নেবে এবং আদ্যক্ষরগুলো একটি ASCII বক্সের ভেতরে রিটার্ন করবে। বক্সটি আপনাকে নিজে আঁকতে হবে না, কোড কমেন্টে দেওয়া বক্সটি ব্যবহার করুন। আগের ধাপে আপনি যে HighSchoolSweetheart.initials/1 ডিফাইন করেছিলেন, সেটি আবার ব্যবহার করতে ভুলবেন না।
HighSchoolSweetheart.pair("Blake Miller", "Riley Lewis")
# => """
# ❤-------------------❤
# | B. M. + R. L. |
# ❤-------------------❤
# """
Exercism-এ সাইন আপ করুন, Elixir ট্র্যাকের 58টি কনসেপ্ট168টি অনুশীলনী আর সত্যিকারের মানুষের মেন্টরিং দিয়ে শিখুন ও দক্ষ হয়ে উঠুন, সম্পূর্ণ বিনামূল্যে।