File.join什么时候有用?

通过阅读文档,很明显File.join将给定参数与/字符连接起来。
什么时候使用这个,而不是filenames.join('/') ,有益吗?

还有另一个微妙的区别:

 File.join('foo','bar') #=> "foo/bar" ['foo','bar'].join('/') #=> "foo/bar" 

但是,如果你传递一个已经以/结尾的参数(通常在使用路径时),结果中不会有两个斜杠:

 File.join('foo/','bar') #=> "foo/bar" ['foo/','bar'].join('/') #=> "foo//bar" 

它将使用File::SEPARATOR ,理论上不必是/