Files
freeCodeCamp/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/escape-sequences-in-strings.md
2023-01-17 08:45:16 -06:00

3.7 KiB

id, title, challengeType, videoUrl, forumTopicId, dashedName
id title challengeType videoUrl forumTopicId dashedName
56533eb9ac21ba0edf2244b6 تسلسلات الإخراج في المقاطع النصية 1 https://scrimba.com/c/cvmqRh6 17567 escape-sequences-in-strings

--description--

الاقتباسات (Quotes) ليست الرموز الوحيدة التي يمكن أن تكتب مخرَّجة داخل المقطع النصي (string). وهناك سببان لاستخدام رموز احتيالية (escaping characters):

  1. للسماح لك باستخدام الرموز التي قد لا تتمكن من استخدامها، مثل سطر جديد (newline).
  2. للسماح لك بتمثيل الاقتباسات (Quotes) متعددة في مقطع نصي دون أن يسيء JavaScript فهم ما تعنيه.

وقد تعلمنا ذلك في التحدي السابق.

الكودالناتج
\'single quote
\"double quote
\\backslash
\nnewline
\ttab
\rcarriage return
\bword boundary
\fform feed

لاحظ أن يجب أن يكون الخط المائل (backslash) نفسه يخرَّج (escaped) ليتم عرضه كخط مائل backslash.

--instructions--

عيّن الأسطر الثلاثة التالية من النص في المتغير myStr الوحيد باستخدام تسلسل التخريج (escape sequences).

FirstLine
    \SecondLine
ThirdLine

سوف تحتاج إلى استخدام تسلسل تخريج لإدراج الرموز الخاصة (special characters) بشكل صحيح. ستحتاج أيضًا إلى اتباع التباعد كما هو موضح أعلاه، دون مسافات بين تسلسل التخريج escape sequences أو الكلمات.

ملاحظة: يتم الحصول على التباعد (indentation) في SecondLine باستخدام رمز التخريح الشريط (tab escape character) وليس المسافة الفارغة (space).

--hints--

يجب ألا يحتوي myStr على أي مسافات

assert(!/ /.test(myStr));

يجب أن يحتوي myStr على المقطع (string) الآتي FirstLine, و SecondLine, و ThirdLine (تذكر الحساسية حالة الحرف (case sensitivity))

assert(
  /FirstLine/.test(myStr) && /SecondLine/.test(myStr) && /ThirdLine/.test(myStr)
);

يجب أن يتبع FirstLine رمز السطر الجديد (newline character) الاتي \n

assert(/FirstLine\n/.test(myStr));

يجب أن يحتوي myStr على رمز الشريط (tab character) وهو \t الذي يتبع رمز السطر الجديد (newline character)

assert(/\n\t/.test(myStr));

يجب أن يسبق SecondLine رمز خط مائل (backslash character) يكتب هكذا \

assert(/\\SecondLine/.test(myStr));

يجب أن يكون هناك رمز السطر الجديد (newline character) بين SecondLine و ThirdLine

assert(/SecondLine\nThirdLine/.test(myStr));

يجب أن يحتوي myStr فقط على الرموز التي تظهر في التعليمات

assert(myStr === 'FirstLine\n\t\\SecondLine\nThirdLine');

--seed--

--seed-contents--

const myStr = ""; // Change this line

--solutions--

const myStr = "FirstLine\n\t\\SecondLine\nThirdLine";