From: Yusuke ENDOH Date: 2009-06-21T23:06:37+09:00 Subject: [ruby-dev:38695] [feature:trunk] let irb use pretty_inspect if possible 遠藤です。 irb メンテナの石塚さん: pretty_inspect が使用可能なときは、irb の結果出力にそれを使うのは どうでしょうか。 irb(main):001:0> ["foo bar baz"] * 6 => ["foo bar baz", "foo bar baz", "foo bar baz", "foo bar baz", "foo bar baz", "foo bar baz"] irb(main):002:0> require "pp" => true irb(main):003:0> ["foo bar baz"] * 6 => ["foo bar baz", "foo bar baz", "foo bar baz", "foo bar baz", "foo bar baz", "foo bar baz"] 本当の目的は「Object#p と同様に pp にも引数を返してほしい」という 一年前の話 ([ruby-dev:34830] 、[ruby-dev:34833]) の続きで、田中さん からは「irb が変われば pp も変えてよい」という条件付採録を (さっき) 貰いました。 よろしくお願いします。 Index: lib/irb.rb =================================================================== --- lib/irb.rb (revision 23808) +++ lib/irb.rb (working copy) @@ -299,7 +299,13 @@ def output_value if @context.inspect? - printf @context.return_format, @context.last_value.inspect + value = @context.last_value + if value.respond_to?(:pretty_inspect) + str = value.pretty_inspect.chomp + else + str = value.inspect + end + printf @context.return_format, str else printf @context.return_format, @context.last_value end -- Yusuke ENDOH