文字や数値を表示しよう!

logo_long

前回:>> はじめてのRubyプログラミング(やっぱりHello, World)
次回:>> Rubyのコメントの書き方




文字や数字を表示するメソッド

Rubyには文字や数字を表示する命令があります。
それらは以下の通りです。

メソッド 概要
puts 普段使う第一候補
実行時、Rubyが勝手に改行を入れてくれるので一番使い易いはず
print 普段使う第二候補
改行を入れる入れないを自分で制御したいときに使います
putsとの違いは、実行時に勝手に改行がはいらないというだけ
p デバッグ用なので、そう頻繁には使わないはず
開発中に、変数の中身を確認したい時に使う
pp これもデバッグ用に使用
変数の中身を表示するのはpメソッドと同じだが、配列やハッシュを表示するときに改行を入れて見やすくしてくれる
pでもppでも好みで使い分ければ良いでしょう

サンプル

文字列の表示のサンプルを以下に示します。

require "pp"

puts("Do you know Ruby?")     # カッコ付き
puts "Yes, I like Ruby."      # カッコ無し
puts"That's good!"            # putsとダブルクォーテーションの間に空白を空けない
puts "山田" "-" "太郎"        # こういう書き方もできます

puts ("--------------------")

print ("これは改行しません")  # カッコ付き
print "これは改行します\n"    # カッコ無し
print"改行したかな?\n"       # printとダブルクォーテーションの間に空白を空けない
print "小山田" "*" "いく" + "\n"

print ("====================\n")

hensuX = "MojiMoji5"
hensuY = 123
hensuZ = [
	{name: "Nobi Nobita", age: 10},
	{name: "Gohda Takeshi", age: 11},
	{name: "Minamoto Shizuka", age: 12},
	{name: "Honekawa Suneo", age: 13},
	{name: "Dekisugi Hidetoshi", age: 14},
	{name: "Kidori Takao", age: 15},
	{name: "あばら谷 一郎", age: 16}
]

p hensuX                      #=> 文字列が格納されていればダブルクォーテーション付きで表示される
p hensuY                      #=> 数値が格納されていればダブルクォーテーション無しで表示される
p hensuZ                      #=> ハッシュを表示

p ("********************\n")  # この書き方は普通はしない

pp hensuZ

pp ("++++++++++++++++++++\n") # この書き方は普通はしない

hensuMoji  = "aiueo"
hensuSuchi = 456

puts  "文字列の変数の表示1:#{hensuMoji}"             # #{・・・}で変数の内容を表示できる
puts  "数値 の変数の表示1:#{hensuSuchi}"            #           〃
print "文字列の変数の表示2:" , hensuMoji  , "\n"     # カンマでつなげる方法もある
print "数値 の変数の表示2:" , hensuSuchi , "\n"     #           〃

どれを使えばいいの?

お好きなメソッドを使ってください。
Rubyの思想として、

・Rubyはプログラマを大人として扱う
・Rubyがプログラマの自由を制限しない

というのがあるらしいです。

なので、自分で使いやすいものを取捨選択してください。
『こんな風に書かなければいけない』というのはありません。


前回:>> はじめてのRubyプログラミング(やっぱりHello, World)
次回:>> Rubyのコメントの書き方


 

 

おすすめ書籍

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

ABOUTこの記事をかいた人

Windows/Mac/Linuxを使う現役システムエンジニア&プログラマ。オープン系・組み込み系・制御系・Webシステム系と幅広い案件に携わる。C言語やC#やJava等数多くのコンパイラ言語を経験したが、少し飽きてきたので、最近はRubyやPython、WordPressなどのWeb系を修得中。初心者向けのプログラミング教室も運営中。オンライン・対面・出張等でプログラミングをレッスンします。