| 
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36 | # File 'lib/iruby/backend.rb', line 10
def eval(code, store_history)
  b = eval_binding
  b.local_variable_set(:_ih, In)  unless b.local_variable_defined?(:_ih)
  b.local_variable_set(:_oh, Out) unless b.local_variable_defined?(:_oh)
  out = super
      if store_history
    b.local_variable_set("_#{Out.size}", out)
    b.local_variable_set("_i#{In.size}", code)
    Out << out
    In << code
    b.local_variable_set(:___,  Out[-3])
    b.local_variable_set(:__,   Out[-2])
    b.local_variable_set(:_,    Out[-1])
    b.local_variable_set(:_iii, In[-3])
    b.local_variable_set(:_ii,  In[-2])
    b.local_variable_set(:_i,   In[-1])
  end
  out
end |