Yield i przekazywanie bloków
Proszę poznać słowo kluczowe yield oraz sposób dynamicznego przekazywania bloków do metod.
Yield i przekazywanie bloków to bezpłatna lekcja Ruby Academy na CoddyKit. To lekcja 3 z 3. 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 3 lekcji w sumie.
Yield i przekazywanie bloków
Yield i przekazywanie bloków
Ruby umożliwia przekazywanie bloków do metod za pomocą słowa kluczowego yield.
W tej lekcji nauczą się Państwo używać yield do wykonywania bloku wewnątrz metody.

Używanie yield
Używanie yield
Słowo kluczowe yield wykonuje blok przekazany do metody.
def greet
puts 'Before yield'
yield
puts 'After yield'
end
greet { puts 'Hello from the block!' }Przekazywanie parametrów za pomocą yield
Przekazywanie parametrów za pomocą yield
Słowo kluczowe yield może przekazywać parametry do bloku.
def square(num)
yield num * num
end
square(4) { |result| puts "Square: #{result}" }Sprawdzanie, czy przekazano blok
Sprawdzanie, czy przekazano blok
Można sprawdzić, czy metoda otrzymała blok, używając block_given?.
def greet
if block_given?
yield
else
puts 'No block given'
end
end
greet
greet { puts 'Hello from block!' }Przekazywanie bloków za pomocą &block
Przekazywanie bloków za pomocą &block
Bloki można przekazywać jawnie jako parametr za pomocą &block.
def execute_block(&block)
block.call if block
end
execute_block { puts 'Block executed!' }Wielokrotne używanie yield
Wielokrotne używanie yield
Metoda może wielokrotnie wywoływać yield.
def repeat(times)
times.times { yield }
end
repeat(3) { puts 'Hello!' }Przekazywanie bloków jako Proc
Przekazywanie bloków jako Proc
Bloki można konwertować na obiekty Proc i przekazywać jako argumenty.
def execute_proc(proc)
proc.call
end
my_proc = Proc.new { puts 'Proc executed!' }
execute_proc(my_proc)Używanie Lambdy jako bloku
Używanie Lambdy jako bloku
Lambdy można używać zamiast bloku.
def execute_lambda(lmbd)
lmbd.call
end
my_lambda = -> { puts 'Lambda executed!' }
execute_lambda(my_lambda)Gratulacje!
Gratulacje!
Nauczyli się Państwo używać yield i przekazywać bloki w języku Ruby.
Następnie dowiedzą się Państwo, jak pracować z kolekcjami.

Często zadawane pytania
Czy lekcja „Yield i przekazywanie bloków” jest bezpłatna?
Tak — pełny tekst „Yield i przekazywanie bloków” 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 3 lekcji w sumie.
Co nauczysz się w „Yield i przekazywanie bloków”?
Proszę poznać słowo kluczowe yield oraz sposób dynamicznego przekazywania bloków do metod. Ć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 3.
Ile czasu zajmuje lekcja „Yield i przekazywanie bloków”?
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
- Definiowanie metod
- Bloki, Procs i Lambdas
- Yield i przekazywanie bloków