A custom InputMethod class used by XMP for evaluating string io.
Methods
Attributes
[R] | encoding | Returns the encoding of last expression printed by puts. |
Class Public methods
new()
Link
Creates a new StringInputMethod object
Instance Public methods
eof?()
Link
Whether there are any expressions left in this printer.
puts(exps)
Link
Concatenates all expressions in this printer, separated by newlines.
An Encoding::CompatibilityError
is raised of the given exps
's encoding doesn't match
the previous expression evaluated.
# File lib/irb/xmp.rb, line 132 def puts(exps) if @encoding and exps.encoding != @encoding enc = Encoding.compatible?(@exps.join("\n"), exps) if enc.nil? raise Encoding::CompatibilityError, "Encoding in which the passed expression is encoded is not compatible to the preceding's one" else @encoding = enc end else @encoding = exps.encoding end @exps.concat exps.split(/\n/) end