introspection/local_variables_order_no_parens.rb
tests/_examples/introspection/local_variables_order_no_parens.rb in the metorex repository.
def declared_in_order
third = 3
first = 1
second = 2
binding.local_variables
end
puts declared_in_order.inspect
def own_locals_come_before_enclosing_ones
outer_one = 1
outer_two = 2
proc { inner_one = 3; binding.local_variables }.call
end
puts own_locals_come_before_enclosing_ones.inspect
def a_local_shadowing_a_builtin_is_still_a_local
p = proc { :shadowing }
binding.local_variables
end
puts a_local_shadowing_a_builtin_is_still_a_local.inspect
Output:
[:third, :first, :second]
[:inner_one, :outer_one, :outer_two]
[:p]