static public Method

File.expand_path(...)

File.expand_path(file_name [, dir_string] )  abs_file_name

Converts a pathname to an absolute pathname. Relative paths are referenced from the current working directory of the process unless dir_string is given, in which case it will be used as the starting point. The given pathname may start with a ``~’’, which expands to the process owner’s home directory (the environment variable HOME must be set correctly). ``~user’’ expands to the named user’s home directory.

File.expand_path("~oracle/bin")           #=> "/home/oracle/bin"
File.expand_path("../../bin", "/tmp/x")   #=> "/bin"

Source Code

/*
*  call-seq:
*     File.expand_path(file_name [, dir_string] ) -> abs_file_name
*  
*  Converts a pathname to an absolute pathname. Relative paths are
*  referenced from the current working directory of the process unless
*  <i>dir_string</i> is given, in which case it will be used as the
*  starting point. The given pathname may start with a
*  ``<code>~</code>'', which expands to the process owner's home
*  directory (the environment variable <code>HOME</code> must be set
*  correctly). ``<code>~</code><i>user</i>'' expands to the named
*  user's home directory.
*     
*     File.expand_path("~oracle/bin")           #=> "/home/oracle/bin"
*     File.expand_path("../../bin", "/tmp/x")   #=> "/bin"
*/

VALUE
rb_file_s_expand_path(argc, argv)
   int argc;
   VALUE *argv;
{
   VALUE fname, dname;

   if (argc == 1) {
       return rb_file_expand_path(argv[0], Qnil);
   }
   rb_scan_args(argc, argv, "11", &fname, &dname);

   return rb_file_expand_path(fname, dname);
}
Comments

Have your say
Please use Textile formatting (click here for a cheat sheet). Use <code/> and <pre/> for code samples.
Click here to login with OpenID to to post comments.