يُسمى العامل |> عامل الأنبوب. يمكن استخدامه لربط استدعاءات الدوال معًا بحيث تُمرَّر القيمة التي أرجعها استدعاء الدالة السابق إلى استدعاء الدالة التالي.
"hello"
|> string.uppercase
|> string.append("?!")
// -> "HELLO?!"
الكود أعلاه مكافئ لما يلي:
string.append(string.uppercase("hello"), "?!")
سيُمرِّر عامل الأنبوب القيمة إما كوسيط أول إلى استدعاء الدالة، أو كوسيط وحيد إلى استدعاء جديد، حسب أيهما له النوع الصحيح.
100
|> function_that_takes_two_arguments(1)
// Is equivalent to
function_that_takes_two_arguments(100, 1)
100
|> function_that_returns_a_function(1)
// Is equivalent to
function_that_returns_a_function(1)(100)
أحيانًا نريد تمرير القيمة إلى موضع آخر، وفي هذه الحالة يمكن استخدام العنصر النائب _ للإشارة إلى الموضع الذي ينبغي إدراج القيمة فيه.
100
|> some_function(1, _, 2)
في هذا التمرين، ستساعد حبيبين من طلاب المدرسة الثانوية على التعبير عن حبهما على وسائل التواصل الاجتماعي، من خلال توليد قلب بفنّ ASCII يحمل الأحرف الأولى من اسميهما:
****** ******
** ** ** **
** ** ** **
** * **
** **
** J. K. + M. B. **
** **
** **
** **
** **
** **
** **
***
*
نفّذ الدالة first_letter. يجب أن تأخذ اسمًا وتُرجع حرفه الأول. كما يجب أن تزيل أي مسافات زائدة غير ضرورية من الاسم.
first_letter("Jane")
// -> "J"
نفّذ الدالة initial. يجب أن تأخذ اسمًا وتُرجع حرفه الأول مكتوبًا بحرف كبير، متبوعًا بنقطة. واحرص على إعادة استخدام الدالة first_letter التي عرّفتها في الخطوة السابقة.
initial("Robert")
// -> "R."
نفّذ الدالة initials. يجب أن تأخذ اسمًا كاملًا يتكون من اسم أول واسم عائلة يفصل بينهما فراغ، وتُرجع الأحرف الأولى. واحرص على إعادة استخدام الدالة initial التي عرّفتها في الخطوة السابقة.
initials("Lance Green")
// -> "L. G."
نفّذ الدالة pair. يجب أن تأخذ اسمين كاملين وتُرجع الأحرف الأولى داخل قلب من فن ASCII. واحرص على إعادة استخدام الدالة initials التي عرّفتها في الخطوة السابقة.
pair("Blake Miller", "Riley Lewis")
// -> "
// ****** ******
// ** ** ** **
// ** ** ** **
// ** * **
// ** **
// ** B. M. + R. L. **
// ** **
// ** **
// ** **
// ** **
// ** **
// ** **
// ***
// *
// "
سجّل في Exercism لتتعلّم وتتقن Gleam عبر 33 مفهومًا122 تمرينًا، وإرشاد بشري حقيقي، وكل ذلك مجانًا.