0Pricing
Ruby Academy · Lekcja

if, unless, ternary

Podstawy rozgałęziania

if, unless, ternary to bezpłatna lekcja Ruby Academy na CoddyKit. To lekcja 1 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Ruby Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Ruby Academy zawiera 4 lekcji w sumie.

Podstawy rozgałęziania

Programy muszą podejmować decyzje. W Ruby słowo kluczowe if wykonuje blok kodu tylko wtedy, gdy warunek ma wartość truthy.

Wyrażenie if oblicza warunek i, jeśli jest on spełniony, wykonuje kod między if a end.

age = 20
if age >= 18
  puts "You are an adult"
end

if / else

Dodaj gałąź else, aby obsłużyć przypadek, w którym warunek ma wartość false. Wykonywana jest dokładnie jedna gałąź.

age = 12
if age >= 18
  puts "Adult"
else
  puts "Minor"
end

Łańcuchy elsif

Używaj elsif, aby sprawdzać wiele warunków w określonej kolejności. Ruby sprawdza je od góry do dołu i wykonuje pierwszą pasującą gałąź.

  • Zwróć uwagę na pisownię: elsif, a nie elseif ani else if.
score = 75
if score >= 90
  puts "A"
elsif score >= 70
  puts "B"
elsif score >= 50
  puts "C"
else
  puts "F"
end

if jest wyrażeniem

W Ruby niemal wszystko jest wyrażeniem, które zwraca wartość. if zwraca wartość wykonanej gałęzi, więc możesz przypisać ją do zmiennej.

age = 20
status = if age >= 18
  "adult"
else
  "minor"
end
puts status

Modyfikator if

W przypadku pojedynczej krótkiej instrukcji umieść if na końcu wiersza. Taki zapis przypomina język naturalny i jest bardzo często używany w idiomatycznym Ruby.

temperature = 35
puts "It is hot!" if temperature > 30

Poznaj unless

unless jest przeciwieństwem if: wykonuje ciało, gdy warunek ma wartość false. Traktuj unless x jak if !x.

logged_in = false
unless logged_in
  puts "Please log in"
end

Modyfikator unless

Podobnie jak if, unless może również pełnić funkcję modyfikatora umieszczonego na końcu wiersza w krótkich instrukcjach.

stock = 0
puts "Out of stock" unless stock > 0

Unikaj unless z else

unless może przyjmować else, ale taki zapis szybko staje się trudny do odczytania. Gdy potrzebujesz obu gałęzi, wybierz zwykłe if.

active = false
unless active
  puts "Inactive"
else
  puts "Active"
end
# Clearer as a normal if/else

Operator trójargumentowy

Operator trójargumentowy to skrócona wersja if/else służąca do wyboru pojedynczej wartości. Składnia: condition ? value_if_true : value_if_false.

age = 20
label = age >= 18 ? "adult" : "minor"
puts label

Operator trójargumentowy w napisach

Operator trójargumentowy szczególnie dobrze sprawdza się w interpolacji napisów, gdzie pełna konstrukcja if/else nie pasowałaby poprawnie.

count = 1
puts "You have #{count} item#{count == 1 ? "" : "s"}"

Kiedy używać którego rozwiązania

Krótki przewodnik:

  • if / elsif / else do ogólnego rozgałęziania.
  • unless do pojedynczego sprawdzenia negatywnego, które naturalnie się czyta.
  • Operator trójargumentowy do wyboru między dwiema prostymi wartościami.

Czytelność zawsze jest ważniejsza od sprytnych sztuczek.

n = 7
parity = n.even? ? "even" : "odd"
puts "#{n} is #{parity}"

Szybki test

Sprawdź swoją wiedzę na temat rozgałęziania.

Podsumowanie

Poznałeś narzędzia Ruby do rozgałęziania:

  • if / elsif / else wykonują kod na podstawie wartości truthy lub falsy.
  • if jest wyrażeniem, które zwraca wartość.
  • Formy modyfikatorów (do_x if cond) pasują do krótkich instrukcji zapisanych w jednym wierszu.
  • unless jest odpowiednikiem if ! — używaj go do czytelnych sprawdzeń negatywnych.
  • Operator trójargumentowy ? : zwięźle wybiera jedną z dwóch wartości.
grade = 88
result = grade >= 60 ? "pass" : "fail"
puts "Result: #{result}"

Często zadawane pytania

Czy lekcja „if, unless, ternary” jest bezpłatna?

Tak — pełny tekst „if, unless, ternary” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Ruby Academy, przejdź na CoddyKit PRO. Kurs Ruby Academy zawiera 4 lekcji w sumie.

Co nauczysz się w „if, unless, ternary”?

Podstawy rozgałęziania Ćwiczysz Ruby Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć Ruby Academy?

Nie wymagamy żadnego doświadczenia. Ruby Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 1 z 4.

Ile czasu zajmuje lekcja „if, unless, ternary”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji Ruby Academy?

Tak. Każda lekcja Ruby Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. if, unless, ternary
  2. Wyrażenia case/when
  3. Prawdziwość w Ruby
  4. Klauzule ochronne
← Powrót do Ruby Academy