chomp メソッド
CoddyのRubyジャーニー「基礎」セクションの一部 — レッスン 30/88。
前のレッスンで、ユーザーがEnterキーを押したときに gets が改行文字を含んでいるのを見ました。chomp メソッドは、文字列からこの末尾の改行を取り除きます。
name = gets.chomp
puts "Hello, #{name}!"ユーザーが「Alice」と入力すると、出力はクリーンになります:
Hello, Alice!chomp がないと、感嘆符の前に不要な空行が入ってしまいます。上記のように chomp を gets に直接繋げることができ、これは Ruby プログラムで見られる最も一般的なパターンです。
p を使用して違いを確認しましょう:
with_newline = gets
without_newline = gets.chomp
p with_newline # "Ruby\n"
p without_newline # "Ruby"chomp メソッドは、末尾の改行のみを取り除きます。文字列内の他の文字には影響しません。今後は、ユーザー入力を読み取る際には通常 gets.chomp を使用することになります。
チャレンジ
簡単gets.chomp を使用してユーザーから都市名を入力として読み取り、それを city という名前の変数に格納してください。
次に、puts と式展開(string interpolation)を使用して、以下の形式でウェルカムメッセージを出力してください。
Welcome to [city]!例えば、入力が Tokyo の場合、出力は以下のようになります。
Welcome to Tokyo!感嘆符(!)は、余分なスペースや空行を入れずに、都市名の直後に表示される必要があります。
チートシート
chomp メソッドは、文字列の末尾にある改行文字を取り除きます。これは、ユーザーが Enter キーを押したときに改行が含まれる gets を使用してユーザー入力を読み取る際に不可欠です。
gets に直接 chomp を連結します:
name = gets.chomp
puts "Hello, #{name}!"chomp がある場合とない場合の比較:
with_newline = gets # "Ruby\n"
without_newline = gets.chomp # "Ruby"chomp メソッドは末尾の改行のみを削除し、文字列内の他の文字には影響を与えません。
自分で試してみよう
# ユーザーから都市名を読み込む
city = gets.chomp
# TODO: 文字列補間を使用してウェルカムメッセージを出力するコードを以下に記述してくださいこのレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。