Possible Duplicate:
How to create directories recursively in ruby?

在Ruby中,我该怎么做:

mkdir -p cool/beans
  1. 以下是我的 idea :

    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上运行,对吗?

推荐答案

require 'fileutils'
FileUtils.mkdir_p 'cool/beans'

Ruby相关问答推荐

Ruby将字符串中的反斜杠替换为双反斜杠

在Ruby中将嵌套哈希键从CamelCase转换为snake_case

如何在新行之间拆分字符串并保留空白行?

是否有Ruby单行如果 x 则返回?

Ruby访问嵌套函数中的外部变量

如何从 Gemfile 安装 gem?

进程的 pid、ppid、uid、euid、gid 和 egid 有什么区别?

如何声明 RSpec 中示例之间共享的变量?

如果尚未定义,则设置 Ruby 变量

卸载所有 gem Ruby 2.0.0

你能用 Ruby 开发原生 iPhone 应用程序吗?

如何在 ruby​​ net/http 中实现 cookie 支持?

git,Heroku:预接收挂钩被拒绝

Lisp 和 Erlang 原子、Ruby 和 Scheme 符号.它们有多大用处?

Ruby 哈希白名单过滤器

如何在 macOS 上卸载 rbenv?

Ruby 中的 each 和 collect 方法有什么不同

如何重命名 gemset?

Ruby:如何为数组和哈希制作 IRB 打印 struct

Ruby 中的动态方法调用