読み込んだ文字列を2回出力するプログラムを動かして
gets, chomp
メソッドの動きを観察しよう。
#!/usr/koeki/bin/ruby
# -*- coding: utf-8 -*-
while true
print "好きなことは(qで終了)?: "
koto = gets
if koto == "q\n" then
break
end
printf("%sだ、", koto)
printf("%sだ楽しいな。\n", koto.chomp)
end
以下は、プログラムを起動し「祭」と入力した例である。
./double.rb 好きなことは(qで終了)?: 祭 祭 だ、祭だ楽しいな。 好きなことは(qで終了)?: q
「祭 [Return]」と入力すると、gets
メソッドが
それを受け取り "祭\n"
という文字列を作って返す。
koto = gets
の部分で、 "祭\n"
という文字列が koto
変数に代入される。下から3行目の
printf("%sだ、", koto)
によって出力されるのは、「祭」+「改行文字」であるが、次の行の
printf("%sだ楽しいな。\n", koto.chomp)
は、文字列をchomp
しているので
出力される「祭」の直後の改行がなくなっていることに注意する。