スポンサーリンク
puts(改行有り)
putsは引数に渡された値を文字列表現に変換し、改行文字を加えてコンソールに出力する。
戻り値はnil。
1 2 3 4 5 6 7 8 9 10 11 12 | puts "Hello Ruby" puts 1200 array = ["foo", "bar", "baz"] puts array #出力結果 #Hello Ruby #1200 #foo #bar #baz |
putsで配列を出力した場合は、各要素の間に改行が入る。
スポンサーリンク
print(改行なし)
printは、改行なしで出力する。
戻り値はnil。
1 2 3 4 5 6 7 8 | print "Hello Ruby" print 1200 array = ["foo", "bar", "baz"] print array #出力結果 #Hello Ruby1200["foo", "bar", "baz"] |
スペースも何もないので、やたら見にくい。
p(デバック用出力)
pは、単純に文字列を出力するのではなく、その型表現も含めた形の文字列で出力される。
putsと同様に、最後に改行文字が付く。
戻り値は、出力した文字列そのまま。
1 2 3 4 5 6 7 8 9 10 | p "Hello Ruby" p 1200 array = ["foo", "bar", "baz"] p array #出力結果 #"Hello Ruby" #1200 #["foo", "bar", "baz"] |
標準入力
ターミナルからの入力を受け付けたい時はgetsを使う。
1 2 | str = gets puts str |
この状態で実行すると、ターミナルにおいて入力待ち状態となり、何か入力してエンターを押すと入力した文字列がそのまま出力される。
getsで受け取るのは文字列オブジェクト。数字を入力したとしても数値ではなく数字の文字列として扱われる。
こんなことするとエラーになる↓
1 2 | sum = gets puts sum + 1 |
ちなみにこんなことも出来る↓
1 | puts gets |
このプログラムを実行すると、コンソールにて入力待ち状態になり、何か入力してエンターを押せば、その入力した文字列がコンソールに出力される。
エンターも改行文字の入力と見なされるからか、getsで取得した文字列には最後に必ず\n(改行文字)が入る。
1 | p gets |
↑これを実行して、コンソールにて「abc」と入力してエンターを押した場合の出力結果↓
1 | "abc\n" |
1 | p gets.length |
↑これを実行して、コンソールにて「abc」と入力してエンターを押した場合の出力結果↓
1 | 4 |
改行文字(\n)も文字数としてカウントしている。