【Ruby3.x】IO::gets()メソッドの使い方
getsメソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
getsメソッドは、Rubyにおいて標準入力から一行分のテキストを読み込むことを実行するメソッドです。主にユーザーがキーボードから入力した内容を受け取ったり、ファイルの内容を一行ずつ処理したりする際に利用されます。このメソッドを呼び出すと、プログラムは入力を待機し、ユーザーが文字を入力してEnterキーを押すか、読み込むべきファイルの次の行が存在する場合にその行を読み込みます。
読み込まれたテキストは文字列として返され、その文字列の末尾には改行文字(\n)が含まれます。もし改行文字を除去して純粋な入力内容のみを取得したい場合は、通常、返された文字列に対してchompメソッドを続けて呼び出します。例えば、gets.chompのように使用します。
また、getsメソッドは入力の終端(EOF: End Of File)に達した場合、あるいは読み込むべきデータがもうない場合にはnilを返します。この特性を利用して、ループ処理でファイルの全内容を一行ずつ読み込む際の終了条件として利用することが一般的です。
読み込まれたデータは常に文字列型であるため、もし数値として扱いたい場合には、to_iやto_fといったメソッドを使って明示的に数値型へ変換する必要があります。例えば、ユーザーが入力した年齢を受け取る場合はgets.to_iのように記述します。このメソッドはIOクラスのインスタンスメソッドであり、特に指定がなければ標準入力であるSTDINに対して呼び出されます。
構文(syntax)
1line = gets 2puts line
引数(parameters)
separator = $/\
- separator: 読み取る区切り文字。デフォルトは改行文字 ($/) です。
戻り値(return)
String or nil
標準入力から1行読み込み、その文字列を返します。入力の終端に達した場合はnilを返します。