2015-12-05 2 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

Это не имеет ничего общего с рубином, это распространенный способ работы OS

+2

OP использует 'mkdir_p', что, безусловно, [создает каталог и все его родительские каталоги] (http://ruby-doc.org/stdlib-1.9.3/libdoc/fileutils/rdoc/FileUtils.html#method -c-mkdir_p). – steenslag

Смежные вопросы