Ruby 2.0.0 リファレンスマニュアル > ライブラリ一覧 > 組み込みライブラリ > ARGF.classクラス > file

instance method ARGF.class#file

file -> IO[permalink][rdoc]

処理対象の File オブジェクト(または IO オブジェクト)を 返します。

ARGV.replace(
  Dir.glob("*").select{|name| FileTest.file?(name)}
)

until ARGF.closed?
  printf("最終更新時刻 %s (%s)\n", ARGF.file.stat.mtime, ARGF.filename)
  ARGF.skip
end
#例
#=> 最終更新時刻 Thu May 03 14:05:53 +0900 2007 (sample.yaml)
#=> 最終更新時刻 Sun Aug 26 11:28:09 +0900 2007 (test.rb)
#=> 最終更新時刻 Sun Aug 26 11:27:58 +0900 2007 (test.rb~)
#=> 最終更新時刻 Sun Jun 24 13:08:12 +0900 2007 (third.txt)
#=> 最終更新時刻 Sun May 20 21:34:25 +0900 2007 (ugo.yaml)

$stdinがIOオブジェクトでない場合は$stdinを返します。

class MyIO
  def to_io
    DATA
  end
end

$stdin = MyIO.new
ARGV.push("-");

p ARGF.file                #=> #<MyIO:0x293e840>
p ARGF.file.to_io.readline #=> "MyIO Test\n"

__END__
MyIO Test
です。

[SEE_ALSO] ARGF.class#to_io