Ruby 1.9.3 リファレンスマニュアル > ライブラリ一覧 > 組み込みライブラリ > ARGF.classクラス > to_io
to_io -> IO[permalink][rdoc]ARGFが現在開いているファイルのFile、またはIOオブジェクトを返します
# カレントディレクトリから適当にファイルを選ぶ
ARGV.replace(
Dir.glob("*").select{|name| FileTest.file?(name)}
)
until ARGF.closed?
printf("最終更新時刻 %s (%s)\n", ARGF.to_io.stat.mtime, ARGF.filename)
ARGF.skip
end
#例
#=> 最終更新時刻 Thu May 03 14:05:53 +0900 2007 (sample.yaml)
#=> 最終更新時刻 Sat Aug 18 16:31:42 +0900 2007 (test.rb)
#=> 最終更新時刻 Sat Aug 18 16:31:30 +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.to_ioを呼び出します。
class MyIO
def to_io
DATA
end
end
$stdin = MyIO.new
ARGV.push("-")
myio = ARGF.to_io
p myio.readline #=> "MyIO Test\n"
p ARGF.file #=> #<MyIO:0x293ea34>
__END__
MyIO Test
です。
[SEE_ALSO] ARGF.class#file