ruby - How to run IRB.start in context of current class -


i've been going through pragprog continuous testing ruby, talk invoking irb in context of current class inspect code manually.

however, quote if invoke irb.start in class, self predefined, , refers object in when start called isn't true in case.

even simple example like

a = "hello" require 'irb' argv.clear # otherwise script parameters passed irb irb.start 

when try access a variable, obvious

nameerror: undefined local variable or method `a' main:object 

it works when change a global variable

$a = "hello" require 'irb' argv.clear # otherwise script parameters passed irb irb.start 

then can access it

irb(main):001:0> $a => 1 

is there way around access local , instance variables in current class?

i'd suggest trying in ripl, irb alternative. above example works:

a = 'hello' require 'ripl' ripl.start :binding => binding 

note local variables work because passing current binding :binding option.

you possibly same in irb, since it's poorly documented , untested, chances of doing cleanly slim none.


Comments

Popular posts from this blog

android - Spacing between the stars of a rating bar? -

html - Instapaper-like algorithm -

c# - How to execute a particular part of code asynchronously in a class -