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"
endif / 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 nieelseifanielse if.
score = 75
if score >= 90
puts "A"
elsif score >= 70
puts "B"
elsif score >= 50
puts "C"
else
puts "F"
endif 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 statusModyfikator 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 > 30Poznaj 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"
endModyfikator 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 > 0Unikaj 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/elseOperator 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 labelOperator 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/elsedo ogólnego rozgałęziania.unlessdo 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/elsewykonują kod na podstawie wartości truthy lub falsy.ifjest wyrażeniem, które zwraca wartość.- Formy modyfikatorów (
do_x if cond) pasują do krótkich instrukcji zapisanych w jednym wierszu. unlessjest odpowiednikiemif !— 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
- if, unless, ternary
- Wyrażenia case/when
- Prawdziwość w Ruby
- Klauzule ochronne