Menu
CoddyTech

Polecenia

Część sekcji Podstawy Node.js ścieżki Node.js w Coddy. Lekcja 4 z 33.

Narzędzie wykona kilka czynności, a pierwsze słowo wskazuje, którą.

Destrukturyzacja pobiera pierwsze słowo i gromadzi resztę w tablicy:

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

action to pierwsze słowo, a rest zawiera wszystkie słowa po nim. rest.join(' ') łączy te słowa z powrotem w jeden ciąg znaków. Łańcuch if i else if wybiera, co zrobić. Końcowe else przechwytuje każde nieprzewidziane słowo, w tym literówkę.

challenge icon

Wyzwanie

Łatwy

Twoje narzędzie będzie wykonywać kilka zadań, a pierwsze słowo po node notes.js określa, które z nich. Teraz zna dwa polecenia: add i list, a także odpowiedź na każde nieznane słowo.

  1. W pliku notes.js zastąp obie linie początkowe. Podziel słowa występujące po node notes.js na polecenie, czyli pierwsze słowo, oraz resztę, czyli wszystkie pozostałe słowa.
  2. Za pomocą łańcucha if, else if, else wybierz działanie w zależności od polecenia. Każde polecenie wypisuje dokładnie jedną linię:
    • add wypisuje Adding: , a następnie pozostałe słowa połączone spacjami. node notes.js add Buy milk wypisuje Adding: Buy milk.
    • list wypisuje No notes yet. Notatki nie są jeszcze nigdzie zapisywane; tym zajmiemy się w rozdziale 3.
    • Każde inne pierwsze słowo powoduje wypisanie Unknown command: , a następnie tylko tego pierwszego słowa. node notes.js remove 3 wypisuje Unknown command: remove bez 3.
  3. Nic więcej nie może być wypisywane. Jeśli linia z poprzedniej lekcji, która wypisuje Adding:, pozostanie poza łańcuchem, zostanie wykonana dla każdego polecenia, list wypisze dwie linie, a testy się nie powiodą.

Wszystkie trzy przypadki kończą się normalnie, kodem wyjścia 0. W następnej lekcji nieznane polecenia staną się błędami.

Wypróbuj: wpisz każde z poniższych poleceń w polu po $ node notes.js i naciśnij Enter.

  • add Buy milk wyświetla Adding: Buy milk.
  • list wyświetla No notes yet.
  • remove 3 wyświetla Unknown command: remove.
  • List z wielką literą L wyświetla Unknown command: List. JavaScript porównuje tekst znak po znaku, uwzględniając wielkie litery, więc List to nie list.

Spróbuj swoich sił

// Twoje narzędzie do notatek zaczyna się tutaj.
const args = process.argv.slice(2);
console.log(`Adding: ${args.slice(1).join(' ')}`);

Wszystkie lekcje w sekcji Podstawy Node.js

Poćwicz samodzielnie: Edytor online Express