On 30.03.2007 03:21, Bret Pettichord wrote:
> I just had to work on some code that ran into trouble, because Ruby
> uses "/" to separate folders, but the path was being passed to a
> separate command (using system) that expected Window's paths to use
> "\".
> 
> C:\Users\bret>irb
> irb(main):001:0> File.join "foo", "bar"
> => "foo/bar"
> irb(main):002:0>
> 
> I told my collegues that instead of using File.join, they should just
> use + "\\" +

I'd probably rather use ["foo", "bar"].join File::SEPARATOR (if that's 
set to \\ on Windows).

> But this got me to wondering what the point of File.join was if you
> couldn't trust it to construct paths correctly (unless you were sure
> that the path was only going to be used by other ruby commands).

Exactly.  File.join produces paths that Ruby can correctly use.  That's 
the rationale.

> Is there a rationale? Is there a different library that i should be
> using instead?

Well, you could do path.tr '/', '\\' before passing the path to some 
other process.

Kind regards

	robert