mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
* lib/prettyprint.rb: re-implemented for incremental output to handle
huge data. API is changed a bit. * lib/pp.rb: adapt new pretty printing API. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2600 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
264d2e4da9
commit
e50f2d285f
3 changed files with 302 additions and 298 deletions
10
lib/pp.rb
10
lib/pp.rb
|
@ -57,8 +57,8 @@ I like the latter. If you do too, this library is for you.
|
|||
|
||||
It returns (({nil})).
|
||||
|
||||
== Customized output
|
||||
To define your customized pretty printing function for your class,
|
||||
== Output Customization
|
||||
To define your customized pretty printing function for your classes,
|
||||
redefine a method (({pretty_print(((|pp|)))})) in the class.
|
||||
It takes an argument ((|pp|)) which is an instance of the class ((<PP>)).
|
||||
The method should use PP#text, PP#breakable, PP#nest, PP#group and
|
||||
|
@ -118,9 +118,9 @@ end
|
|||
|
||||
class PP < PrettyPrint
|
||||
def PP.pp(obj, width=79, out=$>)
|
||||
pp = PP.new
|
||||
pp = PP.new(out, width)
|
||||
pp.guard_inspect_key {pp.pp obj}
|
||||
pp.format(out, width)
|
||||
pp.flush
|
||||
#$pp = pp
|
||||
out << "\n"
|
||||
end
|
||||
|
@ -134,7 +134,7 @@ class PP < PrettyPrint
|
|||
@@sharing_detection = val
|
||||
end
|
||||
|
||||
def initialize
|
||||
def initialize(out, width=79)
|
||||
super
|
||||
@sharing_detection = @@sharing_detection
|
||||
end
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue