Jonas' Conversation to you. Scopes like candy bars. Calling function a() with function (b) inside. function(a) is in the global scope. function(b) only exists within the "room" of function a().
This is a key difference between Ruby's access variables. The difference has to do with memory. The Ruby variables, perhaps they are restricted to a class or an object. But they all EXIST in memory. Your program is simply restricting access to them based on the rules that you've set.