0Pricing
Ruby Academy · Lekcja

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ęć.

Bloki, Procs i Lambdas — ilustracja 1

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
end

Bloki 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.call

Przekazywanie 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

test

Gratulacje!

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.

Bloki, Procs i Lambdas — ilustracja 10

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

  1. Definiowanie metod
  2. Bloki, Procs i Lambdas
  3. Yield i przekazywanie bloków
← Powrót do Ruby Academy