Tbpgr Blog

Employee Experience Engineer tbpgr(てぃーびー) のブログ

Javaプログラマーが学ぶRuby基礎/pretty_printメソッドで整形出力

概要

pretty_printメソッドで整形出力する方法について説明します。

内容

pretty_printメソッドを使用することで、ハッシュや複雑なオブジェクトの内容を
人間が見やすい形で出力することが出来ます。

構文

require "pp"
:
:
pp <出力対象>
サンプルコード
require "pp"

class Person
  attr_accessor:name,:age,:memo
  def initialize(name,age,memo)
    @name=name
    @age=age
    @memo=memo
  end
end

tanaka = Person.new('田中',20,'田中くんこんにちは'*10)
suzuki = Person.new('鈴木',20,'鈴木くんこんにちは'*10)

person_list = [tanaka,suzuki]
puts "−−−−−−−−−−−−−−−−pによる出力−−−−−−−−−−−−−−−−"
p person_list
puts "−−−−−−−−−−−−−−−−prety printによる出力−−−−−−−−−−−−−−−−"
pp person_list
出力

pによる出力時はひたすら横に表示されるだけですが、
ppによる表示時はインデントによる整形済みの内容で出力されて非常に見やすいです。

−−−−−−−−−−−−−−−−pによる出力−−−−−−−−−−−−−−−−
[#<Person:0x2c13528 @name="田中", @age=20, @memo="田中くんこんにち・・・・]
−−−−−−−−−−−−−−−−prety printによる出力−−−−−−−−−−−−−−−−
[#<Person:0x2c13528
  @age=20,
  @memo=
   "田中くんこんにちは田中くんこんにちは田中くんこんに・・・",
  @name="田中">,
 #<Person:0x2c13408
  @age=20,
  @memo=
   "鈴木くんこんにちは鈴木くんこんにちは鈴木くんこんに・・・",
  @name="鈴木">]