Menu
Coddy logo textTech

Podsumowanie — bezpieczne dzielenie

Część sekcji Logika i przepływ programu ścieżki Lua w Coddy. Lekcja 34 z 54.

challenge icon

Wyzwanie

Łatwy

Napisz funkcję safeDivide, która przyjmuje a i b oraz zwraca wynik dzielenia a przez b albo komunikat o błędzie, jeśli dzielenie się nie powiedzie.

Funkcja powinna używać pcall(), aby bezpiecznie wykonać operację dzielenia. Utwórz funkcję wewnętrzną, która wykonuje dzielenie i zgłasza błąd, jeśli b jest równe zero, a następnie opakuj ją w pcall(), aby przechwycić ewentualne błędy.

Logika:

  • Utwórz funkcję wewnętrzną, która sprawdza, czy b jest równe 0
  • Jeśli b jest równe 0, wywołaj error("Cannot divide by zero")
  • W przeciwnym razie zwróć a / b
  • Użyj pcall(), aby wykonać funkcję wewnętrzną
  • Jeśli operacja się powiedzie, zwróć "Result: ", a po nim wynik dzielenia
  • Jeśli wystąpi błąd, zwróć "Error: ", a po nim komunikat o błędzie

Parametry:

  • a (liczba): dzielna
  • b (liczba): dzielnik

Zwraca: Ciąg znaków zawierający albo "Result: ", a po nim wynik dzielenia, albo "Error: ", a po nim komunikat o błędzie (ciąg znaków)

Spróbuj swoich sił

function safeDivide(a, b)
    -- Wpisz kod tutaj
end

Wszystkie lekcje w sekcji Logika i przepływ programu

Poćwicz samodzielnie: Kompilator Lua online