Ruby Dir Class and Methods

Advertisements


A Dir is a class to represent a directory stream that gives filenames in the directory in the operating system. Dir class also holds directory related operations, such as wild card filename matching, changing current working directory, etc. as class methods

Class Methods:

SNMethod with Description
1Dir[pat]
Dir::glob( pat)

Returns an array of filenames matching the specified wild card pattern pat :
  • * - Matches any string including the null string

  • ** - Matches any string recursively

  • ? - Matches any single character

  • [...] - Matches any one of enclosed characters

  • {a,b...} - Matches any one of strings

Dir["foo.*"] # matches "foo.c", "foo.rb", etc.
Dir["foo.?"] # matches "foo.c", "foo.h", etc.
2Dir::chdir( path)
Changes the current directory.
3Dir::chroot( path)
Changes the root directory (only allowed by super user). Not available on all platforms.
4Dir::delete( path)
Deletes the directory specified by path. The directory must be empty.
5Dir::entries( path)
Returns an array of filenames in directory path.
6Dir::foreach( path) {| f| ...}
Executes the block once for each file in the directory specified by path.
7Dir::getwd
Dir::pwd

Returns the current directory.
8Dir::mkdir( path[, mode=0777])
Creates the directory specified by path. Permission mode may be modified by the value of File::umask and is ignored on Win32 platforms.
9Dir::new( path)
Dir::open( path)
Dir::open( path) {| dir| ...}

Returns a new directory object for path. If open is given a block, a new directory object is passed to the block, which closes the directory object before terminating.
10Dir::pwd
See Dir::getwd.
11Dir::rmdir( path)
Dir::unlink( path)
Dir::delete( path)

Deletes the directory specified by path. The directory must be empty.

Instance Methods:

Assuming d is an instance of Dir class:

SNMethod with Description
1d.close
Closes the directory stream.
2d.each {| f| ...}
Executes the block once for each entry in d.
3d.pos
d.tell
Returns the current position in d.
4d.pos= offset
Sets the position in the directory stream.
5d.pos= pos
d.seek(po s)

Moves to a position in d. pos must be a value returned by d.pos or 0.
6d.read
Returns the next entry from d.
7d.rewind
Moves position in d to the first entry.
8d.seek(po s)
See d.pos=pos.
9d.tell
See d.pos.


Advertisements
Advertisements