السلاسل النصية في 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"
للتعامل بشكل مريح مع النصوص التي تحتوي على الكثير من الأسطر الجديدة، استخدم بدلًا من ذلك صياغة heredoc بثلاث علامات تنصيص مزدوجة:
"""
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 تمرينًا، وإرشاد بشري حقيقي، وكل ذلك مجانًا.