Menu
CoddyTech

gets による入力

CoddyのRubyジャーニー「基礎」セクションの一部。レッスン 29/88。

これまでに、出力を表示する方法を学びました。次は、ユーザーから入力を受け取る方法を学びましょう。getsメソッドは、ユーザーが入力したテキストを1行読み取ります。

name = gets
puts "Hello, #{name}"

Ruby が gets に遭遇すると、ユーザーが何かを入力して Enter キーを押すまで待ちます。入力された内容は変数に格納されます。ユーザーが「Alice」と入力した場合、出力は次のようになります。

Hello, Alice

ここで注意すべき重要な点があります。ユーザーが Enter を押すと、その改行文字が入力に含まれます。

上記の出力には表示されません。これは、文字列がすでに改行で終わっていない場合にのみ、puts が改行を追加するためです。変数には実際には "Alice\n" が含まれており、ここで \n は改行を表します。

これをはっきりと確認するには、pを使えます。

name = gets
p name

ユーザーが「Ruby」と入力すると、出力は次のようになります。

"Ruby\n"

この末尾の改行によって、プログラムで予期しない動作が起こることがあります。次のレッスンでは、その削除方法を学びます。

challenge icon

チャレンジ

簡単

getsを使ってユーザーから名前を読み取り、nameという変数に格納します。

次に、pを使ってname変数を出力します。これにより、末尾の改行文字を含む生の文字列が表示されます。

たとえば、入力がRubyの場合、引用符と\n文字が見える状態で文字列が表示されます。

自分で試してみよう

# TODO: gets を使ってユーザーから名前を読み取り、name という変数に格納する


# TODO: p を使って変数 name を出力する
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

基礎のすべてのレッスン

自分で練習してみよう: Rubyオンラインコンパイラ