Specs for where $_ is defined and when it is defined?

This was covered in my original comment in the example to use an anonymous class to encapsulate the method calling `#gets`. You can do that, assert that $_ is actually change, but that change is not visible in your other frame. You are not really asserting anything by just saying it isn't changed in that frame. Maybe it was never changed. It's only by constraining this to 0-degrees of freedom that you have any valuable assertion.