gets method だけでは入力したときに、 ユーザが入力終了を知らせるために使った改行文字までも取り込んでしまう。
% ./parrot.rb [~/] 名前を入力すると挨拶します 名前をどうぞ: Madoka ルビオウム: Madoka さんオハヨウ ルビオウム: Madoka さんオハヨウ ルビオウム: Madoka さんオハヨウ
ユーザが入力するとは、どのようなことか、思い出そう。 ユーザは、名前を聞かれたので、名前プラス改行文字 を入力する。このときプログラムはこのデータを変数 name に代入してしまう。 改行文字を取り除くには、chomp method を用いる。parrot.rb を
name = gets.chomp
と変更し、実行しなおしてみよう。
% ./parrot.rb [~] 名前を入力すると挨拶します 名前をどうぞ: Madoka ルビオウム: Madokaさんオハヨウ ルビオウム: Madokaさんオハヨウ ルビオウム: Madokaさんオハヨウ
# chomp # 改行文字の有無を調べる # . # method 1 . method 2 として、いっしょに動作を行うときに用いる
実行文にある実行する動作を method という。 method は上のように . を使って 1 行に収めてしまうことができる。
name = gets.chomp は、 ユーザの入力した文字を取ってきて、 改行文字があるかどうか調べ、あれば改行文字を切り取って、 変数 name にしまう一連の動作を意味する。 Method について
Madoka Nishimura <madoka@e.koeki-u.ac.jp>