Ronald Fischer wrote: >> Nope, this variable correct because within ruby and its core >> libraries, >> everything can open files with forward slash separated paths. >> Try it. > > I know, and that's what I am doing anyway. I just thought - after > reading about File::SEPARATOR - that this would be a good way > to pass path parameters on to external processes. > > So this is not OS dependend, and within *every* Ruby implementation > it is supposed to be a slash ... not that much sense defining > it as a named constant then, isn't it? > > Ronald > > You have a point, as I just can't imagine that the file separator used by Ruby internally will change any time soon (but who knows?). Thinking about valid use cases, I tried changing the value of this constant, only to find that File.joint doesn't use the value: >> File::SEPARATOR = "\\" (irb):3: warning: already initialized constant SEPARATOR => "\\" >> File.join("c:", "My Documents") => "c:/My Documents" >> File::SEPARATOR => "\\" I would have expected the result to be "c:\\My Documents" So the best use case (in my opinion) of this variable does not work. This behavior is in direct contradiction with the documentation for File.join, by the way (Ruby 1.8.6). I wonder whether this has been fixed in 1.9? It really does seem a bug that File.join does not use File::SEPARATOR (when the docs say it does). I looked at the c code of this function, and it does use a variable called "separator", but it seems changing File::SEPARATOR does not change the c variable. Dan