2015-12-05 91 views
1

我想用尽可能少的LOC来构建一个简单的文件结构,我知道FileUtils.mkdir_p './this/that/the/other'会生成一个路径。 Ruby中有什么东西可以在一个目录中创建多个文件夹,如FileUtils.mkdir_p './this/{that, foo, bar}/the/other(这不起作用)?在一个目录内创建多个文件夹

回答

1
%w(that foo bar).each{|dir| FileUtils.mkdir_p("./this/#{dir}/the/other")} 

注意双引号,它们允许字符串插值(在一个字符串中执行代码)。

+0

太棒了!这是我正在寻找的答案。干杯。 – intrigatory57

0

你可以像下面这样做

%w[this that next].each{|dir| Dir.mkdir "/path/to/somewhere/#{dir}"} 

这将创建/path/to/somewhere/this/path/to/somewhere/that/path/to/somewhere/next文件夹。

顺便说一句,您一次只能创建一个文件夹。也就是说,你必须创建一个文件夹./foo,然后./foo/bar,然后./foo/bar/next

它无关,与红宝石,它是操作系统共同工作的方式

+2

OP使用'mkdir_p',当然[创建一个目录及其所有父目录](http://ruby-doc.org/stdlib-1.9.3/libdoc/fileutils/rdoc/FileUtils.html#method -c-mkdir_p)。 – steenslag

相关问题