2011-06-28 5 views

答えて

25

ルビー標準ライブラリが標準よりもはるかに優れた構造を調べるフォーマットPP( "プリティ・印刷" の略)、含まれています

http://www.ruby-doc.org/stdlib/libdoc/pp/rdoc/index.html

あなたがする必要がrequire 'pp'をソースファイルの先頭に置いてからコード内でp objpp objに置き換えてください。

特にハッシュや配列には本当に便利です!

+1

PPはpretty_inspect()をカーネルモジュールに追加するので、単にinspect()の呼び出しをそれに置き換えることができます。 – tjbp

5

「pp」溶液に加えて、yamlは溶液であってもよい。

試してみてください。

require 'yaml' 
puts [1,2,3=>'three'].to_yaml 

あなたが得る:

--- 
- 1 
- 2 
- 3: three 

そして完全に異なるアプローチ:あなたが特定のクラスで

を検査し、問題がある場合は、独自の検査コードを書きます例:

class MyTest 
    def initialize() 
    @created = Time.now 
    end 
    def inspect() 
    "Hi, I'm the objected created at #{@created}. That's #{Time.now - @created} seconds ago" 
    end 
end 

x = MyTest.new 
sleep 5 
puts x.inspect 
あなたが得る

Hi, I'm the objected created at 2011-06-28 12:48:38 +0100. That's 5.0 seconds ago 
+1

私はこの解決策が一番好きです。私はレールコンソールを使用するときに 'yaml'を必要とする必要はありません。投稿ありがとう –

0

これは仕事となります偉大なあなたのgemfileで:)

:あなたのビューで

group :development do 
    gem 'table_print', '~> 1.5.3' 
end 

:@tjbpが言ったよう

<pre> 
<%= TablePrint::Printer.new(@users, []).table_print %> 
</pre> 
1

、単にinspect()の代わりにpretty_inspect()を使用するだけです。

これはあなたに素敵な改行と字下げを与えます

関連する問題