0Pricing
Ruby Academy · Lekcja

Prawdziwość w Ruby

nil i false

Prawdziwość w Ruby to bezpłatna lekcja Ruby Academy na CoddyKit. To lekcja 3 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.

Czym jest truthiness

W warunku Ruby nie wymaga ścisłej wartości logicznej. Każda wartość jest traktowana jako truthy albo falsy. Znajomość tej zasady zapobiega trudnym do wykrycia błędom.

if "hello"
  puts "Strings are truthy"
end

Tylko dwie wartości falsy

Zasada Ruby jest wyjątkowo prosta: tylko false i nil mają wartość falsy. Wszystko inne ma wartość truthy.

puts "nil is falsy" unless nil
puts "false is falsy" unless false

Zero jest truthy

W przeciwieństwie do wielu języków 0 ma w Ruby wartość truthy. To samo dotyczy pustego napisu i pustej tablicy. Uważaj, jeśli znasz język C lub Python.

if 0
  puts "0 is truthy in Ruby"
end
if ""
  puts "empty string is truthy too"
end

Poznaj nil

nil oznacza brak wartości. Metody często zwracają nil, gdy nie mają czego zwrócić, na przykład gdy brakuje klucza w hashu.

user = { name: "Ada" }
puts user[:email].inspect  # missing key returns nil

Sprawdzanie nil

Użyj nil?, aby jawnie wykonać sprawdzenie. Zwraca ono true tylko dla nil.

x = nil
y = 0
puts x.nil?
puts y.nil?

Operator &&

&& zwraca pierwszy operand falsy albo ostatni operand, jeśli wszystkie mają wartość truthy. Stosuje ewaluację zwarciową: prawa strona nie jest obliczana, jeśli lewa ma wartość falsy.

puts (nil && "never").inspect
puts ("a" && "b").inspect

Operator ||

|| zwraca pierwszy operand truthy. Dzięki temu doskonale nadaje się do ustawiania wartości domyślnych.

name = nil
display = name || "Guest"
puts display

Przypisanie warunkowe ||=

a ||= b przypisuje b do a tylko wtedy, gdy a ma obecnie wartość nil lub false. To idiomatyczny sposób ustawiania wartości domyślnej.

config = {}
config[:timeout] ||= 30
config[:timeout] ||= 99  # already set, ignored
puts config[:timeout]

Uwaga na wartość domyślną falsy

Ponieważ false ma wartość falsy, || może nadpisać prawidłową wartość false. Gdy false ma znaczenie, zamiast tego sprawdzaj nil?.

enabled = false
result = enabled || true   # oops, becomes true
puts result
safe = enabled.nil? ? true : enabled
puts safe

Operator bezpiecznej nawigacji

&. wywołuje metodę tylko wtedy, gdy odbiorca nie ma wartości nil; w przeciwnym razie zwraca nil zamiast zgłaszać błąd.

name = nil
puts name&.upcase.inspect  # no NoMethodError
name = "ruby"
puts name&.upcase

Połączenie wszystkiego

Zasady truthiness pozwalają pisać wyrazisty, zwięzły kod, ale pamiętaj o przypadkach szczególnych:

  • Tylko nil i false mają wartość falsy.
  • 0, "" i [] mają wartość truthy.
  • Używaj nil?, gdy rzeczywista wartość false ma znaczenie.
values = [0, "", [], nil, false]
values.each do |v|
  puts "#{v.inspect} => #{v ? "truthy" : "falsy"}"
end

Szybki test

Sprawdź swoją znajomość truthiness w Ruby.

Podsumowanie

Poznałeś truthiness w Ruby:

  • Tylko nil i false mają wartość falsy.
  • nil? jawnie sprawdza, czy wartość to nil.
  • && i || zwracają operandy i stosują ewaluację zwarciową.
  • ||= ustawia wartości domyślne, a &. chroni przed odbiorcami o wartości nil.
username = nil
username ||= "anonymous"
puts "Welcome, #{username}"

Często zadawane pytania

Czy lekcja „Prawdziwość w Ruby” jest bezpłatna?

Tak — pełny tekst „Prawdziwość w Ruby” 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 „Prawdziwość w Ruby”?

nil i false Ć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 3 z 4.

Ile czasu zajmuje lekcja „Prawdziwość w Ruby”?

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