LoginSignup
0
1

Rubyのp、pp、puts、printメソッドの違いについて

Last updated at Posted at 2023-06-05

Rubyには、データの表示や出力に使用されるさまざまなメソッドがあります。その中でも特によく使われるメソッドとして、pppputsprintがあります。それぞれのメソッドは、データの表示や出力に異なる方法を提供しています。以下でそれぞれのメソッドの違いについて詳しく説明します。

p

pメソッドは、引数として与えられたオブジェクトをそのまま出力します。オブジェクトの内容がそのまま表示され、オブジェクトの詳細な情報が含まれます。主な特徴は次のとおりです。

  • オブジェクトの内容がわかりやすく表示される
  • デバッグや検証に便利
  • メソッドの戻り値も表示される

pp

ppメソッドは、引数として与えられたオブジェクトをきれいに整形して出力します。オブジェクトの要素や構造が視覚的にわかりやすく表示されます。主な特徴は次のとおりです。

  • オブジェクトの要素や構造がきれいに整形される
  • 配列やハッシュの要素が改行されて表示される

puts

putsメソッドは、引数として与えられたオブジェクトを改行を含んで出力します。オブジェクトの内容が表示された後、改行が追加されます。主な特徴は次のとおりです。

  • オブジェクトが一行ずつ表示され、最後に改行が追加される
  • 配列の要素ごとには改行して表示される

print

printメソッドは、引数として与えられたオブジェクトを改行を含まない形式で出力します。オブジェクトの内容が表示された後、改行は追加されません。主な特徴は次のとおりです。

  • オブジェクトが一行で表示され、改行は追加されない
  • 配列やハッシュの要素は改行されずに連続して表示される

これらのメソッドは、データの表示や出力において異なる目的と使い方を持っています。pメソッドはデバッグや検証に便利であり、ppメソッドは複雑なデータ構造の整形表示に適しています。putsメソッドは改行を含んだ出力を行い、printメソッドは改行を含まない出力を行います。

# 例1
data = {
  name: "John Doe",
  age: 30,
  hobbies: ["programming", "reading", "gaming"],
  address: {
    city: "Tokyo",
    country: "Japan"
  }
}

# pメソッド
p data
#=> {:name=>"John Doe", :age=>30, :hobbies=>["programming", "reading", "gaming"], :address=>{:city=>"Tokyo", :country=>"Japan"}}

# ppメソッド
pp data
#=> {:name=>"John Doe",
#    :age=>30,
#    :hobbies=>["programming", "reading", "gaming"],
#    :address=>{:city=>"Tokyo", :country=>"Japan"}}

# putsメソッド
puts data
#=> {:name=>"John Doe", :age=>30, :hobbies=>["programming", "reading", "gaming"], :address=>{:city=>"Tokyo", :country=>"Japan"}}

# printメソッド
print data
#=> {:name=>"John Doe", :age=>30, :hobbies=>["programming", "reading", "gaming"], :address=>{:city=>"Tokyo", :country=>"Japan"}}


# 例2
data = [1, 2, 3, 4, 5]

# pメソッド
p data
#=> [1, 2, 3, 4, 5]

# ppメソッド
pp data
#=> [1, 2, 3, 4, 5]

# putsメソッド
puts data
# 1
# 2
# 3
# 4
# 5

# printメソッド
print data
#=> [1, 2, 3, 4, 5]

以上が、Rubyのpppputsprintメソッドの違いについての詳しい説明です。適切なメソッドを選択して、データの表示や出力に活用してください。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1