0Pricing
Ruby Academy · Lekcja

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.

Yield i przekazywanie bloków — ilustracja 1

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.

Yield i przekazywanie bloków — ilustracja 10

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

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