質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Q&A

解決済

3回答

1537閲覧

Ruby 出力メソッドの違いについて

mameko312

総合スコア151

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

0グッド

1クリップ

投稿2014/07/23 13:52

Ruby初心者です。
Rubyには、p,print,putsなどがあるのですが、それぞれの違いについて
教えていただけませんでしょうか?
また、それぞれのバックスラッシュ記法についても知っている方いましたら、
教えていただきますでしょうか?
宜しくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

ベストアンサー

print, puts は通常の出力に使い、 puts は最後に改行も出力します。
改行を書くのが面倒なので、 puts が使われることの方が多いと思います。
puts "Hello" print "Hello\n"

一方、 p はオブジェクトのダンプで、基本的にデバッグで使います。
`
puts "Hello", :bar

Hello

bar

p "Hello", :bar

"Hello"

:bar

`

ちなみに、 print などでは文字列以外を渡すと to_s を使って文字列に変換するのに対して、 p は inspect を使っています。
ダンプ用ですので、バックスラッシュ記法もそのまま出力されます。(正確にいうと改行文字などをわざと置き換えています)

投稿2014/07/24 11:03

yohshiy

総合スコア863

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

mameko312

2014/07/31 06:43

丁寧な回答ありがとうございました!理解が深まりました!
guest

0

出力メソッドの違いは以下のとおりです。
まず、pは引数ごとに改行してくれます。
バックスラッシュ記法は、そのまま出力します。
printは改行をしません。
バックスラッシュ記法は、適用した結果を出力します。
putsは引数ごとに改行します。
バックスラッシュ記法は、printと同じく、
適用した結果を出力します。
こんな感じでざっくりとした説明になってしまいましたが
よろしいでしょうか?

投稿2014/07/24 02:30

tarou

総合スコア233

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

tarouさんの内容のとおりですが、この手のは、やってみるとわかりやすいかと。
`
###test-p.rb###

p "a"
p "b"
p "c\ncc"

print "a"
print "b"
print "c\ncc"

puts "a"
puts "b"
puts "c\ncc"
`
#ruby test-p.rb 実行すると、以下のような結果です。
"a"
"b"
"c\ncc"
abc
cca
b
c
cc
改行されるかの差や、バックスラッシュ記法での改行がされるか、など確認できるかと思います。

投稿2014/07/24 07:35

disc_7

総合スコア100

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問