This is a Ruby tree! It shows every object from the Ruby Programming Language in a tree format.

Dir

        # Dir < Object

---
# Includes:
Enumerable (from ruby core)

(from ruby core)
---

Objects of class Dir are directory streams representing directories in
the underlying file system. They provide a variety of ways to list
directories and their contents. See also File.

The directory used in these examples contains the two regular files
(`config.h` and `main.rb`), the parent directory (`..`), and the
directory itself (`.`).

## What's Here

First, what's elsewhere. Class Dir:

*   Inherits from [class
    Object](Object.html#class-Object-label-What-27s+Here).
*   Includes [module
    Enumerable](Enumerable.html#module-Enumerable-label-What-27s+Here),
    which provides dozens of additional methods.


Here, class Dir provides methods that are useful for:

*   [Reading](#class-Dir-label-Reading)
*   [Setting](#class-Dir-label-Setting)
*   [Querying](#class-Dir-label-Querying)
*   [Iterating](#class-Dir-label-Iterating)
*   [Other](#class-Dir-label-Other)


### Reading

    #close
:       Closes the directory stream for `self`.

    #pos=
:       Sets the position in the directory stream for `self`.

    #read
:       Reads and returns the next entry in the directory stream for
        `self`.

    #rewind
:       Sets the position in the directory stream for `self` to the
        first entry.

    #seek
:       Sets the position in the directory stream for `self` the entry
        at the given offset.



### Setting

    ::chdir
:       Changes the working directory of the current process to the
        given directory.

    ::chroot
:       Changes the file-system root for the current process to the
        given directory.



### Querying

    ::[]
:       Same as ::glob without the ability to pass flags.

    ::children
:       Returns an array of names of the children (both files and
        directories) of the given directory, but not including `.` or
        `..`.

    ::empty?
:       Returns whether the given path is an empty directory.

    ::entries
:       Returns an array of names of the children (both files and
        directories) of the given directory, including `.` and `..`.

    ::exist?
:       Returns whether the given path is a directory.

    ::getwd (aliased as #pwd)
:       Returns the path to the current working directory.

    ::glob
:       Returns an array of file paths matching the given pattern and
        flags.

    ::home
:       Returns the home directory path for a given user or the current
        user.

    #children
:       Returns an array of names of the children (both files and
        directories) of `self`, but not including `.` or `..`.

    #fileno
:       Returns the integer file descriptor for `self`.

    #path (aliased as #to_path)
:       Returns the path used to create `self`.

    #tell (aliased as #pos)
:       Returns the integer position in the directory stream for `self`.



### Iterating

    ::each_child
:       Calls the given block with each entry in the given directory,
        but not including `.` or `..`.

    ::foreach
:       Calls the given block with each entryin the given directory,
        including `.` and `..`.

    #each
:       Calls the given block with each entry in `self`, including `.`
        and `..`.

    #each_child
:       Calls the given block with each entry in `self`, but not
        including `.` or `..`.



### Other

    ::mkdir
:       Creates a directory at the given path, with optional
        permissions.

    ::new
:       Returns a new Dir for the given path, with optional encoding.

    ::open
:       Same as ::new, but if a block is given, yields the Dir to the
        block, closing it upon block exit.

    ::unlink (aliased as ::delete and ::rmdir)
:       Removes the given directory.

    #inspect
:       Returns a string description of `self`.



---
# Class methods:

    []
    chdir
    children
    chroot
    delete
    each_child
    empty?
    entries
    exist?
    foreach
    getwd
    glob
    home
    mkdir
    mktmpdir
    new
    open
    pwd
    rmdir
    tmpdir
    unlink

# Instance methods:

    children
    close
    each
    each_child
    fileno
    inspect
    path
    pos
    pos=
    read
    rewind
    seek
    tell
    to_path


      

This is MURDOC! A Ruby documentation browser inspired by Smalltalk-80. It allows you to learn about Ruby by browsing through its class hierarchies, and see any of its methods.