読み込んだ文字列を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しているので
出力される「祭」の直後の改行がなくなっていることに注意する。