From: Eric Hodel Date: 2005-02-27T08:58:08+09:00 Subject: Re: implementing #to_pp, and pp.rb doc diffs (Re: Requesting addition to IRB (configurable standard output)) --Apple-Mail-37-158571134 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=US-ASCII; format=flowed On 26 Feb 2005, at 08:32, Sam Roberts wrote: > Quoting drbrain@segment7.net, on Sat, Feb 26, 2005 at 03:49:49PM +0900: >> It only works for builtins. If you want fancy printing for your >> objects you must define pretty_print. > > Your (series) of suggestions was to the effect that I didn't have to > write my #to_pp, it somehow exists already, was it not? > > Or are you just listing methods that PP has, that CANNOT be used to > replace #inspect, in the hope that is helpful? Let me step back here, I have confused the issue in my own head. But! The original poster wants some way of only printing the bits they want without printing things they don't (like a multi-KB String). >> The problem is, how do you write a generic way of prettily printing >> every object you could come across? #inspect is a good default, but >> being prettier than that is hard. > > I submit that #inspect is much prettier than raising a runtime error. But not much prettier than 30 lines of a String. >> Instead, PrettyPrint leaves it up to you. > > Leaving #pretty_print_inspect useless for the purpose you are > suggesting > it, replacing #inspect, unless I very much misunderstand what you are > talking about. > > Also, you keep saying "you", as if it is MY objects that lack > #pretty_print, it is ALL objects other than a dozen builtins that lack > it, and I am not about to define #pretty_print for all the standard > library: > > irb(main):003:0> Date.new.pretty_print_inspect > RuntimeError: pretty_print is not overridden. > > Note that Kernel.pp uses the perfectly reasonable default: > > As does #to_pp: [snippage] Yeah, sorry, my bad. But, pp/to_pp will still print out many lines of a String... There's no good way around this other than defining a custom #inspect or #pretty_print_inspect. -- Eric Hodel - drbrain@segment7.net - http://segment7.net FEC2 57F1 D465 EB15 5D6E 7C11 332A 551C 796C 9F04 --Apple-Mail-37-158571134 content-type: application/pgp-signature; x-mac-type=70674453; name=PGP.sig content-description: This is a digitally signed message part content-disposition: inline; filename=PGP.sig content-transfer-encoding: 7bit -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.4 (Darwin) iD8DBQFCIQ0CMypVHHlsnwQRAmD8AJ9Gnx30ZWnLxxJ3rbRvMO7r3MC3qQCgynIl 7eNqBXjKSkOkXIcZEjnhYB0= =D+1v -----END PGP SIGNATURE----- --Apple-Mail-37-158571134--