From: Jano Svitok Date: 2008-05-04T06:40:21+09:00 Subject: Re: Ruby Class documentation On Sat, May 3, 2008 at 11:14 PM, Aa Aa wrote: > Hi, > > I noticed that when I save an internet resource to my local disk, ruby > keeps the file open until the program terminates. After some searching I > noticed that close method should be called after you're done with the > writing part. > I checked the File class documentation at > http://ruby-doc.org/core/classes/File.html several times but there's not > trace of the close method. I assume that File inherits from another > class which actually contains the close method. I've also searched for > the parent class in the File documentation but couldn't find that > either. > > So my question is: Where can I find the documentation on the File.close > method? If File actually is a subclass of another class then how is this > indicted in the documentation? In the upper lefthand corner there is Parent: IO, and IO is a hyperlink to IO documentation. IO contains the close method. Related to this: It's usually better to use block form of File.open, than File.new and File#close. i.e. instead of f = File.new('xxxx',''w') f << "dfsdfsd" f.close do File.open('xxxx','w') do |f| f << "fdfdsfsdf" end The file will be closed when the control exits from the block (even in the case of an exception). File.new is usually used when you need to keep the file open longer than a scope of one method. (setting a member/attribute, returning open file from a method, etc.) J.