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

תרגלו בעצמכם: Express אונליין