class methods
|
[ ]
|
Dir[ aString ]
-> anArray
|
|
Returns anArray of filenames found by
expanding the pattern given in aString.
Note that this pattern is not a regexp (it's closer to a shell glob)
and may contain the following metacharacters:
|
**
|
Matches subdirectories recursively |
*
|
Matches zero or more characters |
?
|
Matches any single character |
[ charSet ]
|
Matches any character from the given
set of characters. A range of characters is written as
charFrom
-
charTo. The set may be negated
with an initial uparrow (^ ). |
{ opt, opt, ... }
|
Matches any one of the
optional strings |
|
Dir["config.?"]
|
» |
["config.h"]
|
Dir["*.[a-z][a-z]"]
|
» |
["main.rb"]
|
Dir["*.[^r]*"]
|
» |
["config.h"]
|
Dir["*.{rb,h}"]
|
» |
["main.rb", "config.h"]
|
Dir["*"]
|
» |
["config.h", "main.rb"]
|
|
chdir
|
Dir.chdir( [ aString
] )
-> 0
|
|
Changes the current working directory of the process to the given
string.
When called without an argument, changes the directory to the value
of the environment variable HOME , or LOGDIR .
Raises a SystemCallError (probably Errno::ENOENT )
if the target directory does not exist.
Dir.chdir("/var/spool/mail")
|
» |
0
|
Dir.pwd
|
» |
"/var/spool/mail"
|
|
chroot
|
Dir.chroot( aString )
-> 0
|
|
Changes this process's idea of the file system root.
Only a privileged process may make this call.
Not available on all platforms. On Unix systems, see
chroot(2) for more information.
Dir.chdir("/production/secure/root")
|
|
Dir.chroot("/production/secure/root")
|
»0
|
Dir.pwd
|
»"/"
|
|
delete
|
Dir.delete( aString )
-> 0
|
|
Deletes the named directory. Raises a subclass of
SystemCallError if the directory isn't empty.
|
entries
|
Dir.entries( aString )
-> anArray
|
|
Returns an array containing all of the filenames in the given
directory. Will raise a SystemCallError if the named directory
doesn't exist.
Dir.entries("testdir")
|
» |
[".", "..", "config.h", "main.rb"]
|
|
foreach
|
Dir.foreach( aString )
{| filename | block }
-> nil
|
|
Calls the block once for each entry in the named directory,
passing the filename of each entry as a parameter to the block.
Dir.foreach("testdir") {|x| puts("Got " + x) }
|
produces:
Got .
Got ..
Got config.h
Got main.rb
|
|
getwd
|
Dir.getwd
-> aString
|
|
Returns the path to the current working directory of this
process as a string.
Dir.chdir("/tmp")
|
» |
0
|
Dir.getwd
|
» |
"/tmp"
|
|
glob
|
Dir.glob( aString )
-> anArray
|
|
Synonym for
Dir.[]
.
|
mkdir
|
Dir.mkdir( aString [, anInteger
] )
-> 0
|
|
Makes a new directory named by aString, with
permissions specified by the optional parameter
anInteger. The
permissions may be modified by the value of
File.umask
,
and are ignored on NT.
Raises a SystemCallError if the directory cannot be created.
See also the discussion of permissions on page 301.
|
new
|
Dir.new( aString ) -> aDir
|
|
Returns a new directory object for the named directory.
|
open
|
Dir.open( aString ) -> aDir
Dir.open( aString ) {| aDir | block }
-> nil
|
|
With no block, open is a synonym for
Dir.new
.
If a block is present, it is passed aDir as a parameter. The
directory is closed at the end of the block, and
Dir.open
returns nil .
|
pwd
|
Dir.pwd -> aString
|
|
Synonym for
Dir.getwd
.
|
rmdir
|
Dir.rmdir( aString )
-> true
|
|
Synonym for
Dir.delete
.
|
unlink
|
Dir.unlink( aString )
-> true
|
|
Synonym for
Dir.delete
.
|
instance methods
|
close
|
dir.close
-> nil
|
|
Closes the directory stream.
Any further attempts to access dir will raise an
IOError .
d = Dir.new("testdir")
|
d.close
|
» |
nil
|
|
each
|
dir.each {| | block }
-> dir
|
|
Calls the block once for each entry in this directory,
passing the filename of each entry as a parameter to the block.
d = Dir.new("testdir")
d.each {|x| puts ("Got " + x) }
|
produces:
Got .
Got ..
Got config.h
Got main.rb
|
|
read
|
dir.read
-> aString or nil
|
|
Reads the next entry from dir and returns it as a
string. Returns nil at the end of the stream.
d = Dir.new("testdir")
|
d.read
|
» |
"."
|
d.read
|
» |
".."
|
d.read
|
» |
"config.h"
|
|
rewind
|
dir.rewind
-> dir
|
|
Repositions dir to the first entry.
d = Dir.new("testdir")
|
d.read
|
» |
"."
|
d.rewind
|
» |
#<Dir:0x401b5cac>
|
d.read
|
» |
"."
|
|
seek
|
dir.seek( anInteger )
-> dir
|
|
Seeks to a particular location in dir.
anInteger must be a value returned by
Dir#tell
.
d = Dir.new("testdir")
|
d.read
|
» |
"."
|
i = d.tell
|
d.read
|
» |
".."
|
d.seek(i)
|
» |
#<Dir:0x401b5cac>
|
d.read
|
» |
".."
|
|
tell
|
dir.tell
-> anInteger
|
|
Returns the current position in dir. See also
Dir#seek
.
d = Dir.new("testdir")
|
d.tell
|
» |
0
|
d.read
|
» |
"."
|
d.tell
|
» |
12
|
|