【Ruby3.x】Object::ARGF定数の使い方
ARGF定数の使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
ARGF定数は、仮想的な入力ストリームを表す定数です。この定数は、Rubyスクリプトがコマンドライン引数として受け取ったファイル名や、引数がない場合の標準入力からデータを読み込むための機能を提供します。ARGFを使用することで、複数のファイルが指定された場合でも、それらをあたかも一つの大きなファイルであるかのように扱い、順次データを読み進めることが可能になります。
具体的には、Rubyの特殊変数であるARGV(コマンドライン引数の配列)の内容に基づいて動作します。ARGVにファイル名が指定されていれば、ARGFはそのファイルを開いて内容を読み込みます。ファイルが複数指定されている場合は、最初のファイルの読み込みが完了すると、自動的に次のファイルへと切り替わり、読み込みを続行します。コマンドライン引数がない場合や、引数としてハイフン(-)が指定された場合は、ARGFは標準入力からデータを読み込みます。
ARGFはIOクラスのオブジェクトのように振る舞い、gets、read、each_lineなどのメソッドを使ってデータを読み出すことができます。これにより、プログラマは入力元の種類(単一ファイル、複数ファイル、標準入力)を意識することなく、一貫したコードで入力データを処理することが可能になります。コマンドラインツールを開発する際に、入力の柔軟性を高めるための強力なツールとして広く利用されています。
構文(syntax)
1ARGF.each_line do |line| 2 puts line 3end
引数(parameters)
引数なし
引数はありません
戻り値(return)
ARGF
ARGFは、標準入力やファイルからの読み込みを統一的に行うためのオブジェクトを返します。