88

可能重复:
如何在 ruby​​ 中递归地创建目录?

在 Ruby 中,我该怎么做:

mkdir -p cool/beans
  1. 这是我想出的:

    Dir.mkdir('cool') unless File.directory?('cool')
    cool_beans_path = File.join('cool', 'beans')
    Dir.mkdir(cool_beans_path) unless File.directory?(cool_beans_path)
    

    但是,没有更好的方法吗?

  2. 我知道我可以这样做:

    system('mkdir', '-p', File.join('cool', 'beans'))
    

    但是,这不是独立于平台的,不是吗?就像,它可以在 Mac 上运行,但不能在 Windows 上运行,对吧?

4

1 回答 1

153
require 'fileutils'
FileUtils.mkdir_p 'cool/beans'
于 2012-07-13T04:28:07.027 回答