CodeBlanks Logo Icon CodeBlanks

Birleştirme

Tüm parçaları birleştirerek çalışan bir CLI hesap makinesi yazarsın.

Birleştirme

Son derste tüm parçaları birleştireceğiz: dört fonksiyon, process.argv okuma ve switch ile dallanma. Hesap makinesi, node calc.js add 5 3 gibi komutlarla çalışacak.

op değişkeni işlem türünü tutar ('add', 'subtract', 'multiply', 'divide'). a ve b ise sayıları.

switch ile op'a göre doğru fonksiyon çağrılır ve sonuç yazdırılır. Bu, küçük bir CLI uygulamasının kalbidir.

switch ile menü

switch, bir değişkenin değerine göre dallanma yapar. Her case etiketi bir değeri karşılar; eşleşen case'in kodu çalışır.

Örnek: switch (op) { case 'add': console.log(add(a, b)); break; ... }. break ile dallanmadan çıkılır; aksi halde sonraki case'ler de çalışır (fall-through).

Hiçbir case eşleşmezse default bloğu çalışır. Bu, bilinmeyen komutlara karşı bir güvenli ağdır.

Uygulama switch ile tam hesap makinesi

Bir switch(op) yaz. case 'add': altında console.log(add(a, b)), case 'subtract': altında console.log(subtract(a, b)), case 'multiply': altında console.log(multiply(a, b)), case 'divide': altında console.log(divide(a, b)) olsun. Her case'e break; ekle. Program node calc.js add 5 3 şeklinde çalıştırılır.

Başlangıç kodu

index.js
function add(a, b) {
  return a + b;
}

function subtract(a, b) {
  return a - b;
}

function multiply(a, b) {
  return a * b;
}

function divide(a, b) {
  if (b === 0) return 0;
  return a / b;
}

const op = process.argv[2];
const a = Number(process.argv[3]);
const b = Number(process.argv[4]);

// op'a göre switch ile doğru işlemi seç ve sonucu yazdır

Örnek çözüm

index.js
function add(a, b) {
  return a + b;
}

function subtract(a, b) {
  return a - b;
}

function multiply(a, b) {
  return a * b;
}

function divide(a, b) {
  if (b === 0) return 0;
  return a / b;
}

const op = process.argv[2];
const a = Number(process.argv[3]);
const b = Number(process.argv[4]);

switch (op) {
  case "add":
    console.log(add(a, b));
    break;
  case "subtract":
    console.log(subtract(a, b));
    break;
  case "multiply":
    console.log(multiply(a, b));
    break;
  case "divide":
    console.log(divide(a, b));
    break;
}

Beklenen çıktı

8

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 switch ifadesi ne yapar?

  • Bir döngü başlatır
  • Bir fonksiyon tanımlar
  • Bir değere göre dallanma yapar Doğru cevap
  • Bir hata fırlatır

Açıklama: switch bir değere göre dallanma yapar.

2 case bloğu

Soru
switch (op) {
  ____
    console.log(add(a, b));
    break;
}
Cevap
switch (op) {
  case "add":
    console.log(add(a, b));
    break;
}

Açıklama: case 'add': etiketi op değerini karşılaştırır.

3 Switch kavramlarını eşleştir

Kavram Anlamı
switch Dallanma ifadesi
case Değer etiketi
break Dallanmadan çıkış
default Hiçbiri eşleşmezse

Başlangıç bölümündeki tüm dersler