Ruby有mkdir -p吗?

ma1*_*w28 70 ruby directory file path mkdir

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

在Ruby中,我该怎么做:

mkdir -p cool/beans
Run Code Online (Sandbox Code Playgroud)
  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)
    
    Run Code Online (Sandbox Code Playgroud)

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

  2. 我知道我能做到:

    system('mkdir', '-p', File.join('cool', 'beans'))
    
    Run Code Online (Sandbox Code Playgroud)

    但是,这不是平台独立的,是吗?比如,它适用于Mac但不适用于Windows,对吧?

Max*_*Max 129

require 'fileutils'
FileUtils.mkdir_p 'cool/beans'
Run Code Online (Sandbox Code Playgroud)

  • 文件:[`FileUtils.mkdir_p`](http://www.ruby-doc.org/stdlib-2.1.1/libdoc/fileutils/rdoc/FileUtils.html#method-c-mkdir_p) (11认同)
  • 注意:Tilda不会自动展开. (4认同)