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と文字列補間を使って、次の形式で歓迎メッセージを出力します。
Welcome to [city]!たとえば、入力がTokyoの場合、出力は次のようになります。
Welcome to Tokyo!感嘆符は都市名の直後に置き、余分なスペースや空行を入れないでください。
自分で試してみよう
# ユーザーから都市名を読み取る
city = gets.chomp
# TODO: 文字列補間を使って歓迎メッセージを出力するコードを以下に書くこのレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
基礎のすべてのレッスン
自分で練習してみよう: Rubyオンラインコンパイラ