Ruby 2.5.0 リファレンスマニュアル > ライブラリ一覧 > 組み込みライブラリ > Kernelモジュール > gets

module function Kernel.#gets

gets(rs = $/) -> String | nil[permalink][rdoc]

ARGFから一行読み込んで、それを返します。 行の区切りは引数 rs で指定した文字列になります。

rs に nil を指定すると行区切りなしとみなしてファイルの内容を すべて読み込みます。ARGVに複数のファイル名が存在する場合は1度に1ファイルずつ読み込みます。 空文字列 "" を指定すると連続する改行を行の区切りとみなします (パラグラフモード)。

読み込んだ文字列は組み込み変数 $_ にもセットされます。

[PARAM] rs:
行の区切りとなる文字列です。
[RETURN]
ファイルの終り(EOF)に到達した時、 nil を返します。
[EXCEPTION] Errno::EXXX:
読み込みに失敗した場合に発生します。
---main.rb---
ARGV << 'b.txt' << 'c.txt'
p gets #=> "hello\n"
p gets(nil) #=> "it\ncommon\n"
p gets("") #=> "ARGF\n\n"
p gets('、') #=> "スクリプトに指定した引数 (Object::ARGV を参照) をファイル名と\nみなして、"
p gets #=> "それらのファイルを連結した 1 つの仮想ファイルを表すオブジェクトです。 \n"
p gets #=> nil
p readline # end of file reached (EOFError)
--- b.txt ---
hello
it
common
--- c.txt ---
ARGF

スクリプトに指定した引数 (Object::ARGV を参照) をファイル名と
みなして、それらのファイルを連結した 1 つの仮想ファイルを表すオブジェクトです。

[SEE_ALSO] $/,ARGF,Kernel.#readlines,Kernel.#readline