In Files

  • irb/output-method.rb

IRB::OutputMethod

An abstract output class for IO in irb. This is mainly used internally by IRB::Notifier. You can define your own output method to use with IRB::Irb.new, or IRB::Context.new

Public Instance Methods

parse_printf_format(format, opts) click to toggle source

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 irb/output-method.rb, line 53
def parse_printf_format(format, opts)
  return format, opts if $1.size % 2 == 1
end
            
pp(*objs) click to toggle source

Prints the given objs calling Object#inspect on each.

See puts for more detail.

 
               # File irb/output-method.rb, line 69
def pp(*objs)
  puts(*objs.collect{|obj| obj.inspect})
end
            
ppx(prefix, *objs) click to toggle source

Prints the given objs calling Object#inspect on each and appending the given prefix.

See puts for more detail.

 
               # File irb/output-method.rb, line 77
def ppx(prefix, *objs)
  puts(*objs.collect{|obj| prefix+obj.inspect})
end
            
printf(format, *opts) click to toggle source

Extends IO#printf to format the given opts for Kernel#sprintf using parse_printf_format

 
               # File irb/output-method.rb, line 36
def printf(format, *opts)
  if /(%*)%I/ =~ format
    format, opts = parse_printf_format(format, opts)
  end
  print sprintf(format, *opts)
end
            
printn(*opts) click to toggle source

Prints the given opts, with a newline delimiter.

 
               # File irb/output-method.rb, line 30
def printn(*opts)
  print opts.join(" "), "\n"
end
            
puts(*objs) click to toggle source

Calls print on each element in the given objs, followed by a newline character.

 
               # File irb/output-method.rb, line 59
def puts(*objs)
  for obj in objs
    print(*obj)
    print "\n"
  end
end
            

Commenting is here to help enhance the documentation. For example, code samples, or clarification of the documentation.

If you have questions about Ruby or the documentation, please post to one of the Ruby mailing lists. You will get better, faster, help that way.

If you wish to post a correction of the docs, please do so, but also file bug report so that it can be corrected for the next release. Thank you.

If you want to help improve the Ruby documentation, please visit Documenting-ruby.org.

blog comments powered by Disqus