проверьте этот код и вывод
def lab
yield
ensure
puts 'in ensure block'
true
end
puts lab { puts 'inside inline block'; false }
output is
#inside inline block
#in ensure block
#false
Я ожидал, что после того, как блок будет выполнен, убедитесь, что будет выполняться, и поскольку обеспечение возвращает true, окончательный вывод вызова метода будет "true".