Class: IRB::OutputMethod
| Relationships & Source Files | |
| Extension / Inclusion / Inheritance Descendants | |
|
Subclasses:
|
|
| Inherits: | Object |
| Defined in: | lib/irb/output-method.rb |
Overview
An abstract output class for IO in irb. This is mainly used internally by Notifier. You can define your own output method to use with Irb.new, or Context.new
Instance Method Summary
-
#parse_printf_format(format, opts)
Returns an array of the given
formatandoptsto be used byKernel.sprintf, if there was a successful Regexp match in the givenformatfrom #printf -
#pp(*objs)
Prints the given
objscallingObject#inspecton each. -
#ppx(prefix, *objs)
Prints the given
objscallingObject#inspecton each and appending the givenprefix. -
#print(*opts)
Open this method to implement your own output method, raises a NotImplementedError if you don’t define #print in your own class.
-
#printf(format, *opts)
Extends
IO#printfto format the givenoptsforKernel.sprintfusing #parse_printf_format -
#printn(*opts)
Prints the given
opts, with a newline delimiter. -
#puts(*objs)
Calls #print on each element in the given
objs, followed by a newline character.
Instance Method Details
#parse_printf_format(format, opts)
Returns an array of the given format and opts to be used by Kernel.sprintf, if there was a successful Regexp match in the given format from #printf
%
<flag> [#0- +]
<minimum field width> (\*|\*[1-9][0-9]*\$|[1-9][0-9]*)
<precision>.(\*|\*[1-9][0-9]*\$|[1-9][0-9]*|)?
#<length modifier>(hh|h|l|ll|L|q|j|z|t)
<conversion specifier>[diouxXeEfgGcsb%]
# File 'lib/irb/output-method.rb', line 42
def parse_printf_format(format, opts) return format, opts if $1.size % 2 == 1 end
#pp(*objs)
Prints the given objs calling Object#inspect on each.
See #puts for more detail.
#ppx(prefix, *objs)
Prints the given objs calling Object#inspect on each and appending the given prefix.
See #puts for more detail.
#print(*opts)
Open this method to implement your own output method, raises a NotImplementedError if you don’t define #print in your own class.
# File 'lib/irb/output-method.rb', line 14
def print(*opts) raise NotImplementedError end
#printf(format, *opts)
Extends IO#printf to format the given opts for Kernel.sprintf using #parse_printf_format
# File 'lib/irb/output-method.rb', line 25
def printf(format, *opts) if /(%*)%I/ =~ format format, opts = parse_printf_format(format, opts) end print sprintf(format, *opts) end
#printn(*opts)
Prints the given opts, with a newline delimiter.
# File 'lib/irb/output-method.rb', line 19
def printn(*opts) print opts.join(" "), "\n" end
#puts(*objs)
Calls #print on each element in the given objs, followed by a newline character.