Шрифт:
Для изменения текущего каталога служит метод
Этот метод также принимает блок в качестве параметра. Если блок задан, то текущий каталог изменяется только на время выполнения блока, а потом восстанавливается первоначальное значение:
10.1.29. Изменение текущего корня
В большинстве систем UNIX можно изменить «представление» процесса о том, что такое корневой каталог
10.1.30. Обход каталога
Метод класса
Оба фрагмента печатают одно и то же (имена всех файлов и подкаталогов в каталоге /tmp).
10.1.31. Получение содержимого каталога
Метод класса
Как видите, включаются и элементы, соответствующие текущему и родительскому каталогу. Если они вам не нужны, придется отфильтровать их вручную.
10.1.32. Создание цепочки каталогов
Иногда необходимо создать глубоко вложенный каталог, причем промежуточные каталоги могут и не существовать. В UNIX мы воспользовались бы для этого командой
В программе на Ruby такую операцию выполняет метод
10.1.33. Рекурсивное удаление каталога
В UNIX команда
В последних версиях Ruby в класс
10.1.34. Поиск файлов и каталогов
Ниже мы воспользовались стандартной библиотекой