Bloki, Procs i Lambdas
Proszę zrozumieć, jak Ruby obsługuje funkcje anonimowe za pomocą bloków, Procs i Lambdas.
Bloki, Procs i Lambdas to bezpłatna lekcja Ruby Academy na CoddyKit. To lekcja 2 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.
Bloki, Procs i Lambdas
Bloki, Procs i Lambdas
Ruby udostępnia zaawansowane sposoby obsługi wielokrotnego użytku fragmentów kodu za pomocą bloków, Procs i Lambdas.
W tej lekcji nauczą się Państwo skutecznie korzystać z tych pojęć.

Czym jest blok?
Czym jest blok?
Blok to fragment kodu umieszczony między do ... end lub w nawiasach klamrowych { ... }.
[1, 2, 3].each do |num|
puts num * 2
endBloki jednowierszowe
Bloki jednowierszowe
W przypadku prostych operacji można użyć nawiasów klamrowych {} zamiast do ... end.
[1, 2, 3].each { |num| puts num * 2 }Przekazywanie bloków do metod
Przekazywanie bloków do metod
Bloki można przekazywać do metod, takich jak each, map i times.
5.times { puts 'Hello, Ruby!' }Czym jest Proc?
Czym jest Proc?
Proc to obiekt przechowujący blok kodu, który można wykonać później.
say_hello = Proc.new { puts 'Hello from Proc!' }
say_hello.callPrzekazywanie argumentów do Proc
Przekazywanie argumentów do Proc
Procs mogą przyjmować argumenty, podobnie jak metody.
square = Proc.new { |num| num * num }
puts square.call(4)Czym jest Lambda?
Czym jest Lambda?
Lambda jest podobna do Proc, ale sprawdza argumenty bardziej rygorystycznie.
greet = ->(name) { puts "Hello, #{name}!" }
greet.call('Alice')Różnice między Proc a Lambda
Różnice między Proc a Lambda
- Procs ignorują dodatkowe argumenty, podczas gdy Lambdas wymagają ich podania.
- Lambdas przekazują sterowanie z powrotem do wywołującej metody, podczas gdy Procs kończą działanie natychmiast.
proc_example = Proc.new { return 'Proc Exited' }
lambda_example = -> { return 'Lambda Executed' }
def test
puts proc_example.call
puts lambda_example.call
end
testGratulacje!
Gratulacje!
Nauczyli się Państwo używać bloków, Procs i Lambdas w języku Ruby.
Następnie poznają Państwo słowo kluczowe yield oraz dynamiczne przekazywanie bloków.

Często zadawane pytania
Czy lekcja „Bloki, Procs i Lambdas” jest bezpłatna?
Tak — pełny tekst „Bloki, Procs i Lambdas” 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 „Bloki, Procs i Lambdas”?
Proszę zrozumieć, jak Ruby obsługuje funkcje anonimowe za pomocą bloków, Procs i Lambdas. Ć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 2 z 3.
Ile czasu zajmuje lekcja „Bloki, Procs i Lambdas”?
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