Rubyには出力の際によく使うメソッドがあります。
どれも結果を出力するメソッドではありますが、それぞれ出力結果に違いがあります。
◉ puts メソッド
渡されたオブジェクトを出力します。
末尾には改行が追加されるため、表示される内容は1行ごとに改行されます。
puts "Hello"
puts "Ruby"
puts "World"
-出力結果-
Hello
Ruby
World
putsメソッドの戻り値は nil
です。
irb(main):001:0> puts "Hello"
Hello
=> nil
◉ print メソッド
putsメソッドとは異なり、改行を追加しません。
そのため、printメソッドを使うと、出力される内容は1行にまとまります。
print "Hello"
print "Ruby"
print "World"
-出力結果-
HelloRubyWorld
printメソッドの戻り値も nil
です。
irb(main):001:0> print "Hello"
Hello=> nil
◉ p メソッド
渡されたオブジェクトを詳細に表示します(改行も含む)。
p "今日の最高気温は”
p 10
p "度です"
-出力結果-
"今日の最高気温は"
10
"度です"
pメソッドの戻り値は、そのオブジェクト自体(文字列や数値型など) です。
irb(main):001:0> p "Hello"
"Hello"
=> "Hello"
思い通りの結果にならない場合は、出力に使うメソッドが違う場合があります。確認してみてください。