如何将 File.join 与 File::ALT_SEPARATOR 一起使用?

How do I use File.join with File::ALT_SEPARATOR?

我想使用 File.join() 在 Ruby 中构建路径:

File.Join("Dir1", "Dir2", "Dir3")

结果是:

Dir1/Dir2/Dir3

我希望 File.join() 使用 File::ALT_SEPARATOR 来执行此操作:

Dir1\Dir2\Dir3

我该怎么做?

你可以使用

File.join('Dir1','Dir2').gsub(File::SEPARATOR,
     File::ALT_SEPARATOR || File::SEPARATOR)

您可以将此功能添加到File:

def File.join_alt(*fnames)
  sep = File::ALT_SEPARATOR || File::SEPARATOR
  fnames.map(&:to_s) # Anything with to_s
    .join(sep)       # Work on all platforms
end