🔀 Warunki (if/else/unless)
Instrukcje warunkowe pozwalają wykonywać różny kod w zależności od warunków.
if / else
if (x > 10) {
print("x jest większe od 10");
}
if (x > 10) {
print("duże");
} else {
print("małe");
}
if (x > 10) {
print("big");
} else if (x > 5) {
print("medium");
} else {
print("small");
}
unless
unless to przeciwieństwo if - wykonuje się gdy warunek jest FAŁSZYWY:
let isAdmin = false;
unless (isAdmin) {
print("Brak uprawnień!");
}
unless (isLoggedIn) {
print("Proszę się zalogować");
} else {
print("Witaj ponownie!");
}
if (!isAdmin) {
print("Brak uprawnień!");
}
Operator trójargumentowy (ternary)
let result = (x > 0) ? "positive" : "non-positive";
let grade = (score >= 90) ? "A" :
(score >= 80) ? "B" :
(score >= 70) ? "C" : "F";
Wartości truthy/falsy
if (0) print("nie wykona się");
if (1) print("wykona się");
if ("") print("nie wykona się");
if ("hello") print("wykona się");
Skrócone formy
isValid && process(data);
let name = userName || "Anonymous";
let value = config ?? "default";
let result = input ?: "default";
Type guards (is)
fn process(value) {
if (value is string) {
return "String: " + value;
}
if (value is number) {
return "Number: " + (value * 2);
}
if (value is list) {
return "List with " + size(value) + " items";
}
return "Unknown";
}
💡 Kiedy używać unless?
Używaj unless gdy sprawdzasz warunek negatywny. unless (isError) jest czytelniejsze niż if (!isError).