On Fri, Jan 02, 2004 at 09:22:02PM -0500, Tim Heaney wrote:
> Joel VanderWerf <vjoel / PATH.Berkeley.EDU> writes:
> 
> > Does anyone know why this happens?
> >
> > $ irb
> > irb(main):001:0> Dir.chdir '~'
> > => 0
> > irb(main):002:0> Dir.chdir '~'
> > Errno::ENOENT: No such file or directory - ~
> >          from (irb):2:in `chdir'
> >          from (irb):2
> > $ ruby -v
> > ruby 1.8.1 (2003-12-25) [i686-linux]
> 
> You must be starting out in a directory with a ~ subdirectory that
> does not itself have a ~ subdirectory. Thus the first time you change
> to directory ~ it succeeds, but the second time it fails.

More to the point, I think is that Ruby doesn't expand ~ the way 
the UNIX shells do.  What you probably want is Dir.chdir(ENV['HOME']).

-Mark