Я пытаюсь написать простой ruby script, который скопирует index.tpl в index.html во всех подкаталогах (за некоторыми исключениями). Но я завязался, пытаясь получить список подкаталогов
Получить все непосредственные подкаталоги в рубине
Ответ 1
Dir.glob("**/")
вернет массив всех путей под текущим каталогом. Оттуда вы можете отфильтровать список и скопировать файл с помощью File.copy(from, to)
Ответ 2
Предполагая, что вам нужны только непосредственные подкаталоги, вы можете использовать Dir['*/']
(который сочетает ответы Micheal Sepcot и glenra).
Ответ 3
Если вы хотите найти все непосредственные подкаталоги (всего один уровень ниже, где вы находитесь), попробуйте следующее:
Dir.chdir("/some/path/you/want/to/check/below")
subdir_list=Dir["*"].reject{|o| not File.directory?(o)}
То есть: смените каталог где-нибудь, постройте массив найденных там файлов, отклоните те элементы массива, которые не являются каталогами, и верните полученную в результате выделенную аранжировку.