Что делает Rake таким полезным в Ruby? - PullRequest
2 голосов
/ 22 февраля 2010

Возможно, это глупый вопрос, и я никоим образом не оцениваю ценность Рейка, я просто не понимаю. Какое значение имеет Rake, если все это произвольно выполняется кодом Ruby? Очевидно, он хорош в обработке задач, но что мешает мне написать класс и встроить его в общий каталог Ruby и выполнить вместо этого этот код в качестве моей задачи? Какую ценность предлагает Rake?

Ответы [ 3 ]

5 голосов
/ 23 февраля 2010
  • Rake обладает всей мощью сложного инструмента, такого как Make (с правилами управления зависимостями и т. Д.) ...
  • Rake легко расширяемый, не требуя всей сложной упаковки , который у вас был бы в противном случае ... если бы вы попытались расширить ant (jar-файлы и свойства конфигурации ...) и мета-ность использования Makefile для сборки кода на C для расширения Make ...
  • Rake расширяемо только с помощью языка, которым он стремится управлять и без дополнительной упаковки ... - в основном за счет выразительности языка ruby.
3 голосов
/ 22 февраля 2010

Я предполагаю, что он имеет топологический вид для отслеживания зависимостей (в терминах рейка, предварительное условие ) ...

Логика отслеживания зависимостей обычно включает в себя что-то вроде топологической сортировки и представляет собой тип механизма вывода .

В сочетании с данными в rakefile комбинация данных домена плюс механизм логического вывода делает ее экспертной системой .

ОК, так что это не совсем ( "Доброе утро, Дэйв" ) HAL

0 голосов
/ 22 февраля 2010

(Предостережение: я не Ruby-head, хотя я использовал некоторые основанные на Ruby проекты и поэтому использовал Rake.)

Мой немедленный ответ: структура, соглашение и общность с другими проектами (так что делиться легко). Ваш собственный инструмент будет ... вашим собственным инструментом, и, следовательно, другим, и поэтому будет противоречить соглашениям (и мы знаем, как сообщество Ruby относится к соглашениям!). [Я ожидаю, что Rake имеет по крайней мере некоторую предварительно запеченную функциональность (управление зависимостями), которую вы не захотите перекодировать.]

make изначально тоже не был таким уж здоровенным; это был просто способ запуска команд оболочки с «небольшим количеством» управления зависимостями. Но соглашение было настолько мощным, что (несмотря на неуклюжую структуру) make-файлы стали нормой для проектов на Си, что, примерно, три десятилетия или около того?

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