Block in eine Methode übergeben - Ruby [duplizieren]
Diese Frage hat hier bereits eine Antwort:
Code-Block, der an jeden übergeben wird, funktioniert mit Klammern, aber nicht mit 'do' - 'end' (ruby) 3 AntwortenIch habe eine kleine Frage zum Blockieren.
def a_method(a, b)
a + yield(a, b)
end
Dies funktioniert gut.
k = a_method(1, 2) do |x, y|
(x + y) * 3
end
puts k
Aber das wird nicht funktionieren.
puts a_method(1, 2) do |x, y|
(x + y) * 3
end
# LocalJumpError: no block given (yield)
ann mir jemand das bitte erkläre
Vielen Dank. Beispiel aus der Metaprogrammierung Ruby von Paolo Perrotta. Tolles Buch