ターミナルに文字や数字を表示したい!そのときに使うのが出力メソッドであるputsメソッド、printメソッド、pメソッドです。
目次
putsメソッド printメソッド pメソッドの違い
メソッド | 改行 | 戻り値 |
puts | あり | nil |
なし | nil | |
p | あり | 引数のオブジェクト |
putsメソッド
putsメソッド
putsメソッドは「putsメソッドに続くものを表示する」メソッドですが
改行を加えながら出力し、putsメソッド自身の戻り値はnilになります
- 改行
- 戻り値はnil
putsメソッドの改行とは?
こちらの2つの値、「おはようございます」と「10」を出力してみると分かりやすいです!
puts "おはようございます",10
おはようございます #出力
10 #改行されて10が出力
=> nil #戻り値
この様におはようございますを出力し、改行後、10を出力しています
戻り値のnilとは?
putsメソッドが機能して、出力した後の結果がnilになります
コードで詳しく見てみましょう!
def greeting
puts "おはようございます"
end
puts greeting.nil?
結果:
おはようございます #greetingのputs おはようございますの結果
true #greeting.nil?結果
まずgreetingメソッドを作り、機能としてputs "おはようございます"を定義します
その下にputs greeting.nil?のコードを記述します
puts greeting.nil?のコードが読まれると
コード解説
- はじめにgreetingメソッドが呼ばれ「puts "おはようございます"」により、おはようございますが出力されます
- その後greetingメソッドの戻り値は「puts "おはようございます"」の戻り値となるため、nilになります
- nilという値がgreetingの呼び出し口、puts greeting.nil?のところに戻ります
- greeting.nil?とすることで、本当にgreetingはnilになっているか?確かめます
- 結果がtrueとなっているため、nilが戻り値として戻って来ています
printメソッド
printメソッド
printメソッドは「printメソッドに続くものを表示する」メソッドですが
改行はなし、printメソッド自身の戻り値はnilになります
- 改行なし
- 戻り値はnil
putsメソッドの改行とは?
こちらも2つの値、「おはようございます」と「10」を出力してみると分かりやすいです!
puts "おはようございます",10
おはようございます10 =>nil #改行されずに出力し戻り値はnil
この様に改行されずに出力されます
戻り値のnilとは?
printメソッドが機能して、出力した後の結果がnilになります
こちらもコードで詳しく見てみましょう!
def greeting
print "おはようございます"
end
print greeting.nil?
結果:
おはようございますtrue #改行はされずに結果が繋がる
こちらも、おはようございますの後にtrueが来ているのでnilが戻り値として帰ってきていますね!
また、printメソッドは改行されないので繋がって表示されています
pメソッド
pメソッド
pメソッドは「pメソッドに続くものを表示する」メソッドですが開発者向けに作られており
文字を出力した場合ダブルクオーテーションも一緒に出力されるなど、値をそのままの形で出力します
また、改行を加えながら出力、pメソッド自身の戻り値は引数のオブジェクトになります
- 改行
- 値をそのままの形で出力
- 戻り値は引数のオブジェクト
pメソッドの値をそのままの形で出力とは?
こちらは単純に"おはようございます"を出力してみると分かりやすいです!
p "おはようございます"
"おはようございます"
この様にダブルクオーテーション付きで出力されます
文字列は""を囲んで作るので値をそのままの形で出力していますね
戻り値は引数のオブジェクトとは?
pメソッドが機能して、出力した後の結果は引数のオブジェクトになります
こちらもコードで詳しく見てみましょう!
p "おはようございます"
"おはようございます"
=> "おはようございます"
puts "おはようございます"
おはようございます
=> nil
=>この部分に注目してみましょう!
実はこちらの=>は戻り値の値が表示されています。
putsを見てみるとnilになっていますね
ではpメソッドの=>を見てみると"おはようございます"になっているのが分かるかと思います。
putsメソッドの戻り値はnil
Pメソッド返り値は引数として渡した、"おはようございます"になります
まとめ
- putsメソッドは改行を加えながら出力し、putsメソッド自身の戻り値はnilになります
- printメソッドは改行はなし、printメソッド自身の戻り値はnilになります
- pメソッドは文字を出力した場合ダブルクオーテーションも一緒に出力されるなど、値をそのままの形で出力します
また、改行を加えながら出力、pメソッド自身の戻り値は引数のオブジェクトになります