Передача блока в метод - Ruby [duplicate]
На этот вопрос уже есть ответ:
лок @Code передается каждой работе в скобках, но не с помощью «do» - «end» (ruby) 3 ответаУ меня небольшой вопрос по прохождению блока.
def a_method(a, b)
a + yield(a, b)
end
Это отлично работает.
k = a_method(1, 2) do |x, y|
(x + y) * 3
end
puts k
Но это не сработает.
puts a_method(1, 2) do |x, y|
(x + y) * 3
end
# LocalJumpError: no block given (yield)
Кто-нибудь может мне это объяснить?
Благодарность. Пример взят из Metaprogramming Ruby Паоло Перротта. Отличная книга.