Menu
CoddyTech

الأوامر

جزء من قسم أساسيات Node.js في رحلة Node.js على Coddy. الدرس 4 من 33.

ستنفّذ الأداة عدة أشياء، وتوضح الكلمة الأولى أيّها.

يفكك إسناد المتغيرات من بنية البيانات الكلمة الأولى، ويجمع الباقي في مصفوفة:

// node calc.js double 4
const [action, ...rest] = process.argv.slice(2);
if (action === 'double') {
    console.log(Number(rest[0]) * 2);
}

تكون action الكلمة الأولى، وتحتوي rest على كل كلمة تليها. يعيد rest.join(' ') هذه الكلمات إلى سلسلة نصية واحدة. تحدد سلسلة من if وelse if ما يجب فعله. ويلتقط else أخير كل كلمة لم تخطط لها، بما في ذلك الأخطاء الإملائية.

challenge icon

التحدي

سهل

ستؤدي أداتك عدة مهام، والكلمة الأولى بعد node notes.js تحدد المهمة. وهي الآن تتعرف على أمرين، add وlist، وعلى ردٍّ لأي كلمة لا تعرفها.

  1. في notes.js، استبدل سطري البداية كليهما. قسّم الكلمات التي تأتي بعد node notes.js إلى الأمر، وهو الكلمة الأولى، وبقية الكلمات، وهي كل كلمة أخرى.
  2. اختر ما يجب فعله باستخدام سلسلة واحدة من if وelse if وelse بحسب الأمر. يطبع كل أمر سطرًا واحدًا بالضبط:
    • يطبع add النص Adding: متبوعًا ببقية الكلمات، بعد وصلها بمسافات. يطبع node notes.js add Buy milk النص Adding: Buy milk.
    • يطبع list النص No notes yet. لم تُحفَظ الملاحظات في أي مكان بعد؛ سيحدث ذلك في الفصل 3.
    • تطبع أي كلمة أولى أخرى النص Unknown command: متبوعًا بتلك الكلمة الأولى فقط. يطبع node notes.js remove 3 النص Unknown command: remove، من دون 3.
  3. يجب ألا يُطبع أي شيء آخر. إذا بقي سطر الدرس السابق الذي يطبع Adding: خارج السلسلة، فسيُنفَّذ مع كل أمر، وسيطبع list سطرين، وستفشل الاختبارات.

تنتهي الحالات الثلاث كلها بشكل طبيعي، برمز خروج 0. يحوّل الدرس التالي الأوامر غير المعروفة إلى أخطاء.

جرّب ذلك: اكتب كلًا مما يلي في المربع بعد $ node notes.js واضغط على Enter.

  • يعرض add Buy milk النص Adding: Buy milk.
  • يعرض list النص No notes yet.
  • يعرض remove 3 النص Unknown command: remove.
  • يعرض List، بحرف L كبير، النص Unknown command: List. تقارن JavaScript النصوص حرفًا حرفًا، بما في ذلك الأحرف الكبيرة، لذا فإن List ليس list.

جرّب بنفسك

// تبدأ أداة الملاحظات الخاصة بك هنا.
const args = process.argv.slice(2);
console.log(`Adding: ${args.slice(1).join(' ')}`);

جميع دروس أساسيات Node.js

تدرّب بنفسك: Playground لـ Express