Класс File в Ruby против FileUtils в Rails - PullRequest
6 голосов
/ 28 августа 2009

Теперь, примерно через 2 недели изучения Ruby и Rails, я обнаружил, что часто использую класс File для таких вещей, как File.join, File.open и т. Д. Затем я столкнулся с необходимостью только File.copy выяснить, что такого метода не существует. Немного больше выглядел открытый класс Rails FileUtils, и теперь я немного растерялся.

Конечно, есть различия, но есть и то, что кажется избыточным. Является ли одно предпочтение перед другим, где есть различия? Почему существуют оба (это только для обработки упущений в базовом классе Ruby)?

Я просто хотел бы почувствовать, как эти вещи работают вместе или конфликтуют, поэтому я знаю, как двигаться вперед.

Спасибо.

1 Ответ

7 голосов
/ 28 августа 2009

FileUtils является частью Ruby Core API. Это не специфично для Rails. Кроме того, это модуль, так что вы можете объединить некоторые способности, которые он может предложить, с другим классом. Лучше всего прочитать File RDoc , а также FileUtils RDoc . Надеюсь, это поможет вам немного. Приветствия.

Edit:

Является ли одно предпочтение перед другим, когда есть различия?

Я не знаю, существует ли большой консенсус относительно того, что использовать, когда методы имеют одинаковый конечный конечный результат, такой как File.makedirs против FileUtils.mkdir_p, но я часто вижу последнее в коде других людей. Я думаю, что вы почти всегда будете использовать два (File & FileUtils) вместе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...