YouTip LogoYouTip

Ruby Dir Methods

# Ruby Dir Class and Methods **Dir** is a directory stream that represents the filenames in a directory of the operating system. The Dir class also contains operations related to directories, such as wildcard filename matching, changing the working directory, etc. ## Class Methods | No. | Method & Description | | --- | --- | | 1 | **Dir Dir::glob( pat)** Returns an array containing the filenames matching the specified wildcard pattern pat: * ***** - Matches any string containing the null string * ****** - Recursively matches any string * **?** - Matches any single character * **[...]** - Matches any one of the enclosed characters * **{a,b...}** - Matches any one of the strings Dir["foo.*"] # Matches "foo.c", "foo.rb", etc. Dir["foo.?"] # Matches "foo.c", "foo.h", etc. | | 2 | **Dir::chdir( path)** Changes the current directory. | | 3 | **Dir::chroot( path)** Changes the root directory (only allowed for superuser). Not available on all platforms. | | 4 | **Dir::delete( path)** Deletes the directory specified by path. The directory must be empty. | | 5 | **Dir::entries( path)** Returns an array containing the filenames in the directory path. | | 6 | **Dir::foreach( path) {| f| ...}** Executes the block once for each file in the directory specified by path. | | 7 | **Dir::getwd Dir::pwd** Returns the current directory. | | 8 | **Dir::mkdir( path[, mode=0777])** Creates the directory specified by path. The permission mode can be modified by the value of File::umask, and is ignored on Win32 platforms. | | 9 | **Dir::new( path) Dir::open( path) Dir::open( path) {| dir| ...}** Returns a new directory object for path. If open is given a block, the new directory object is passed to the block, and the directory object is closed before the block terminates. | | 10 | **Dir::pwd** See Dir::getwd. | | 11 | **Dir::rmdir( path) Dir::unlink( path) Dir::delete( path)** Deletes the directory specified by path. The directory must be empty. | ## Instance Methods Assume **d** is an instance of the **Dir** class: | No. | Method & Description | | --- | --- | | 1 | **d.close** Closes the directory stream. | | 2 | **d.each {| f| ...}** Executes the block once for each entry in d. | | 3 | **d.pos** d.tell Returns the current position in d. | | 4 | **d.pos= offset** Sets the position in the directory stream. | | 5 | **d.pos= pos d.seek(pos)** Moves to a position in d. pos must be a value returned by d.pos or 0. | | 6 | **d.read** Returns the next entry in d. | | 7 | **d.rewind** Moves the position in d to the first entry. | | 8 | **d.seek(po s)** See d.pos=pos. | | 9 | **d.tell** See d.pos. |
← Ruby ExceptionsRuby File Methods β†’