• ベストアンサー

Rubyのprettyprintについて

Ruby2.1.3を使って楽しいRuby第4版を学習しているんですが ppメソッドでp.56のListの例題のとおりv = [{key00:"「楽しいRuby第4版」", key01:"「Rubyレシピブック」", key03:"「rails3レシピブック」"}]を出力しても、適度に改行してくれません。 出力結果はpメソッドと同じく横に羅列されてでてきます。 何がいけないんでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • siffon9
  • ベストアンサー率64% (136/211)
回答No.1

こんにちは 私の環境(2.0.0)でも同じ結果になりました。 pメソッドで表示される文字数がある指定文字数を超えないと改行してくれない様ですね。 マニュアルによると指定文字数は79文字で、ご質問記載のp vの文字数は76文字なので、もとの文字に4文字を追加するか puts PP.pp(v, '', width = 75) の様に指定文字数を少なく設定すると改行してくれる様になります。

参考URL:
http://docs.ruby-lang.org/ja/2.1.0/class/PP.html
noname#208914
質問者

お礼

ありがとうございました。 謎がとけました。

関連するQ&A