Top Level Namespace

Defined Under Namespace

Modules: IRB, RubyToken Classes: Binding, Object, RubyLex, XMP

Instance Method Summary collapse

Instance Method Details

#xmp(exps, bind = nil) ⇒ Object

A convenience method that’s only available when the you require the IRB::XMP standard library.

Creates a new XMP object, using the given expressions as the exps parameter, and optional binding as bind or uses the top-level binding. Then evaluates the given expressions using the :XMP prompt mode.

For example:

require 'irb/xmp'
ctx = binding
xmp 'foo = "bar"', ctx
#=> foo = "bar"
  #==>"bar"
ctx.eval 'foo'
#=> "bar"

See XMP.new for more information.



165
166
167
168
169
170
# File 'lib/irb/xmp.rb', line 165

def xmp(exps, bind = nil)
  bind = IRB::Frame.top(1) unless bind
  xmp = XMP.new(bind)
  xmp.puts exps
  xmp
end