Menu
Coddy logo textTech

gets による入力

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

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

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

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

Hello, Alice

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

そのため、"Alice" の後に余分な空行が表示されます。変数には実際には "Alice\n" が含まれており、ここで \n は改行を表しています。

pを使うと、これをはっきりと確認できます:

name = gets
p name

ユーザーが "Ruby" と入力すると、出力には次のように表示されます:

"Ruby\n"

この末尾の改行は、プログラムで予期しない動作を引き起こす可能性があります。次のレッスンでは、これを取り除く方法を学びます。

challenge icon

チャレンジ

簡単

gets を使ってユーザーから名前を読み取り、それを name という名前の変数に保存してください。

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

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

チートシート

getsメソッドは、コンソールからユーザーの入力を読み取ります:

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

getsが実行されると、プログラムはユーザーが何かを入力してEnterキーを押すのを待ちます。入力内容は変数に格納されます。

getsメソッドは、ユーザーがEnterキーを押したときの改行文字(\n)を含みます:

name = gets
p name
# ユーザーが "Ruby" と入力した場合、"Ruby\n" と出力されます

生の文字列形式を表示するにはpを使用します。これにより、改行文字が明示的に表示されます。

自分で試してみよう

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


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

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

基礎のすべてのレッスン