Pull to refresh

Comments 9

может я немного не понял идеи, но у меня вопрос: а почему не воспользоваться грэпом(grep) он ведь и регулярные выражения поддерживает и ищет рекурсивно?.. автозамену каким-то редактором(ну или перлом если что-то мудреное меняем) Это все просто засунуть в баш или cgi скрипт. да и скорость думаю будет повыше.
Я лишь предложил один из большого множества вариантов.
И не ищу простых путей, написав такой скрипт я узнал что-то новое для себя :)

p.s. автозамену можно было бы делать и sed'ом,
но представлять как будут выглядеть эти правила очень не хочется,
т.к. получилась бы тоже очень нагромождённая конструкция.
А почему был выбран именно XML, а не YAML?
Чтение конфига можно было бы упростить до hash = YAML.load_file('params.yml'), без этих рекурсий.
Кроме того, YAML руками редактировать гораздо удобнее, да и читабельнее он на порядок.

А по поводу бенчмарков — мне кажется, в данном случае они совершенно неуместны, так, баловство, оптимизация ради оптимизации. Ибо даже «медленный» XmlSimple.xml_in('params.xml') отработает 1 раз за 0,02с., вы же не собираетесь загружать и парсить эти параметры 50 раз в секунду? :)

Такие мысли.
XML был и выбран как раз с той позиции, чтоб взять то, что посложнее (в рамках разумного), будем считать это неким упражнением.
Ведь у Казимира Малевича никто не спрашивал, почему он нарисовал именно квадрат и именно чёрный — хотя я в этом совсем не уверен :)
На счёт простоты чтения — согласен, YAML удобнее и парсить проще, поэтому я и упомянул его.

Производительность тут действительно не важна, совсем не важна, главное чтоб не вечность. Просто если не взять этот момент, тогда последует ещё больше вопросов, мол, почему ты не взял просто XMLSimple, разве нет? :) Особенно если учесть то, что веткой выше человек и вовсе предлагает использовать grep.
Выходит, был выбран нарочно менее удобный (по Вашим же словам) формат и для работы с ним более сложный метод (опять же по Вашим словам)? Ну а зачем? Не очень понятно — какой вывод должен постичь читателя в итоге. Дело тут не в разнообразии, а в применимости того или иного инструмента для того или иного подхода. Даже тот же Малевич нарисовал помимо именно чёрного именно квадрата также красный квадрат и чёрный круг ;)
Откуда ж я могу знать какой вывод должен постичь читателя :)
Сколько людей — столько и мнений.

Я не пытался решить задачу для кого-то, я её решал для себя и подумал, что это может быть полезным тому, кто часто парсит xml-файлы. А дабы не создавать флейм, разместил её в личном блоге.
Очень рекомендрую вам почитать документацию на m4 и посмотреть в его сторону. Перимущества:
  1. Это стандартное средство, широко применяемое для создания конфигов.
  2. m4-препроцессинг поддерживается множеством программ от оконых менеджеров до загрузчиков правил фаерволов.
  3. Начать использовать m4 для простых вещей можно сразу — это очень просто.
  4. Если вы понимаете, как организвать цикл с помщью рекурсии, то на m4 мы сможете сделать что угодно.
  5. Освоев m4 однажды, вы сможете использоваеть его везде, где он используется (а это очень много мест).
вопрос не постатье
а что? html-теги ol и li не работают в коментариях?
  1. тест
  2. тест
Sign up to leave a comment.

Articles