У меня есть блок, который передается как аргумент функции. Этот блок содержит несколько методов. Это как это:Доступ к методам в блоке Ruby
def func(&block)
end
func do
method1
method2(arg)
method3(arg)
end
Я хочу FUNC, чтобы вернуть состав функций в блоке:
method3 (method2 (method1))
Есть ли способ получить доступ к каждому из методов в блоке, так что я может использовать methods.reduce(method1) { |method| method.call arg }
или что-то в этом роде?
Не могли бы вы дать мне несколько идей?
Мне нравится этот стиль 'method (: method1)' ... +1 –
Спасибо за идеи! :) – Faery
Поскольку я думаю о решении проблемы, возник еще один вопрос: существует ли способ получить массив значений, возвращаемых каждым методом в блоке, потому что 'result = yield block' будет содержать только значение возвращенный из последнего метода :( – Faery