В 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
. Це дозволяє уникнути помилок, якщо блок не було передано.