[#4479] Requesting addition to IRB (configurable standard output) — Sascha Ebach <se@...>

Hello,

13 messages 2005/02/24
[#4482] Re: Requesting addition to IRB (configurable standard output) — Sam Roberts <sroberts@...> 2005/02/25

Quoting se@digitale-wertschoepfung.de, on Fri, Feb 25, 2005 at 01:22:34AM +0900:

[#4483] Re: Requesting addition to IRB (configurable standard output) — Eric Hodel <drbrain@...7.net> 2005/02/25

On 24 Feb 2005, at 19:51, Sam Roberts wrote:

[#4488] Re: Requesting addition to IRB (configurable standard output) — Sam Roberts <sroberts@...> 2005/02/26

Quoting drbrain@segment7.net, on Sat, Feb 26, 2005 at 02:43:31AM +0900:

[#4489] Re: Requesting addition to IRB (configurable standard output) — Eric Hodel <drbrain@...7.net> 2005/02/26

On 25 Feb 2005, at 16:03, Sam Roberts wrote:

Re: implementing #to_pp, and pp.rb doc diffs (Re: Requesting addition to IRB (configurable standard output))

From: Eric Hodel <drbrain@...7.net>
Date: 2005-02-26 23:58:08 UTC
List: ruby-core #4498
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

Attachments (1)

PGP.sig (186 Bytes, application/pgp-signature)

In This Thread