pp prints a multiple lines string prettier.

* lib/pp.rb (String#pretty_print): Defined to print a string as
  multiple lines.
  [ruby-core:76800] [Feature#12664] proposed by Petr Chalupa.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56391 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
akr 2016-10-11 07:44:58 +00:00
parent ce2b7ae509
commit ea8990d867
2 changed files with 21 additions and 0 deletions

View File

@ -1,3 +1,9 @@
Tue Oct 11 16:38:32 2016 Tanaka Akira <akr@fsij.org>
* lib/pp.rb (String#pretty_print): Defined to print a string as
multiple lines.
[ruby-core:76800] [Feature#12664] proposed by Petr Chalupa.
Mon Oct 10 15:22:27 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
* ruby.c (open_load_file): bind the open fd to an IO instance

View File

@ -418,6 +418,21 @@ class Range # :nodoc:
end
end
class String
def pretty_print(q)
lines = self.lines
if lines.size > 1
q.group(0, '', '') do
q.seplist(lines, lambda { q.text ' +'; q.breakable }) do |v|
q.pp v
end
end
else
q.text inspect
end
end
end
class File < IO # :nodoc:
class Stat # :nodoc:
def pretty_print(q) # :nodoc: