Задать вопрос
@weare138

Как работает метод «yeld»?

Ребят объясните на пальцах, как работает этот метод, а то что то я совсем в ступоре
  • Вопрос задан
  • 2667 просмотров
Подписаться 3 Оценить Комментировать
Решения вопроса 1
@CAMOKPYT
Вызывает блок переданный методу
def some_method(&block)
   yield
end

some_method { puts 'hello from Proc'}
# Напечатает  hello from Proc

Или с аргументом
def some_method(agrument,&block)
   yield (agrument)
end

some_method('ITS ARGUMENT') {|argument| puts "hello from Proc with #{argument}"}
# Напечатает hello from Proc with ITS ARGUMENT
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 4
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
Вы про ключевое слово "yield"? Почитайте про генераторы.
Ответ написан
Комментировать
Prognosticator
@Prognosticator
TODO: Здесь будут ворованные умные мысли, типа мои
На пальцах - Вызывая yield в теле метода, подразумеваем следующее: передай управление блоку, а когда он закончит, верни управление этому методу.
Ответ написан
Комментировать
Вот тут хорошо описано: nashbridges.me/blocks-in-ruby
Ответ написан
Комментировать
Tortway
@Tortway
yield, как бы, телепортирует код на своё место
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы