馃攢 Warunki (if/else/unless)馃攢 Warunki (if/else/unless)

Instrukcje warunkowe pozwalaj膮 wykonywa膰 r贸偶ny kod w zale偶no艣ci od warunk贸w.Instrukcje warunkowe pozwalaj膮 wykonywa膰 r贸偶ny kod w zale偶no艣ci od warunk贸w.

if / elseif / else

// Podstawowy if if (x > 10) { print("x jest wi臋ksze od 10"); } // if-else if (x > 10) { print("du偶e"); } else { print("ma艂e"); } // if-else if-else if (x > 10) { print("big"); } else if (x > 5) { print("medium"); } else { print("small"); }

unlessunless

unless to przeciwie艅stwo if - wykonuje si臋 gdy warunek jest FA艁SZYWY:

let isAdmin = false; // unless - czytelniejsze ni偶 if (!condition) unless (isAdmin) { print("Brak uprawnie艅!"); } // unless z else unless (isLoggedIn) { print("Prosz臋 si臋 zalogowa膰"); } else { print("Witaj ponownie!"); } // R贸wnowa偶ne z: if (!isAdmin) { print("Brak uprawnie艅!"); }

Operator tr贸jargumentowy (ternary)Operator tr贸jargumentowy (ternary)

let result = (x > 0) ? "positive" : "non-positive"; // Zagnie偶d偶ony (u偶ywaj ostro偶nie) let grade = (score >= 90) ? "A" : (score >= 80) ? "B" : (score >= 70) ? "C" : "F";

Warto艣ci truthy/falsyWarto艣ci truthy/falsy

// Warto艣ci "falsy" (traktowane jak false): // false, 0, "", null // Warto艣ci "truthy" (wszystko inne): // true, 1, "text", [], {}, itd. if (0) print("nie wykona si臋"); if (1) print("wykona si臋"); if ("") print("nie wykona si臋"); if ("hello") print("wykona si臋");

Skr贸cone formySkr贸cone formy

// Logical AND (&&) jako guard isValid && process(data); // wywo艂aj tylko gdy isValid // Logical OR (||) jako default let name = userName || "Anonymous"; // Null coalescing (??) - tylko dla null let value = config ?? "default"; // Elvis operator (?:) - dla wszystkich falsy let result = input ?: "default";

Type guards (is)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?馃挕 Kiedy u偶ywa膰 unless?

U偶ywaj unless gdy sprawdzasz warunek negatywny. unless (isError) jest czytelniejsze ni偶 if (!isError).