Про ключове слово yield в Ruby

В Ruby ключове слово yield використовується в контексті виклику блоку коду, переданого методу. Коли метод викликається з ключовим словом yield, він виконує блок коду, який передається методу.

Основна ідея полягає в тому, що метод в Ruby може викликати блок коду, але сам не має знати його вміст. Коли викликається yield, виконується код, який переданий блоком до методу. Такий механізм часто використовується для створення загальних методів, які можуть виконувати специфічні дії, що залежать від конкретного блоку коду.

Приклад використання ключового слова yield в Ruby.

def example_method
  puts "Before yield"
  yield if block_given?
  puts "After yield"
end

example_method do
  puts "Inside the block"
end

У цьому прикладі метод example_method викликає блок коду, який передається йому через yield . Код у блоку виводить “Inside the block”. Результат роботи програми буде наступним:

Before yield
Inside the block
After yield

Зверніть увагу, що block_given? перевіряє, чи переданий блок до методу перед викликом yield . Це дозволяє уникнути помилок, якщо блок не було передано.