How ensure works in ruby
ruby
Solution
The ensure block's return value is discarded -- it's just a way to clean up after the function does whatever it's supposed to (and returns the appropriate value). The reason for this is because it allows you to put several `return` statements (or `raise` statements) in different places in the function body, without having to duplicate the cleanup code in different places in the function.
Problem
checkout this code and the output ``` 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 ``` I was expecting that after the block is executed then ensure will be executed and since ensure returns true , the final output of calling the method would be 'true'.