| Summary: | Поддержка нескольких типов комментариев | ||
|---|---|---|---|
| Product: | Sisyphus | Reporter: | Andrey Cherepanov <cas> |
| Component: | libshell | Assignee: | Alexey Gladkov <legion> |
| Status: | CLOSED WONTFIX | QA Contact: | qa-sisyphus |
| Severity: | normal | ||
| Priority: | P3 | CC: | glebfm, legion, rider |
| Version: | unstable | ||
| Hardware: | all | ||
| OS: | Linux | ||
|
Description
Andrey Cherepanov
2015-02-19 17:59:24 MSK
Андрей, а ты можешь словами описать чего хочется ? Лёш, ну как мне понятно - хочет видимо как-то указывать что комментарии могут быть разные и точка с запятой, и шарп и два слэша. Но из примера скрипта я тоже нихрена не въехал ;) (В ответ на комментарий №3) > Но из примера скрипта я тоже нихрена не въехал ;) Вот-вот :) Просто как правило в конфигах только один тип комментариев. (В ответ на комментарий №2) > Лёш, ну как мне понятно - хочет видимо как-то указывать что комментарии могут > быть разные и точка с запятой, и шарп и два слэша. К сожалению так сделать нельзя т.к. в ini_config_comment непонятно что использовать в качестве комментария. Библиотека не рассчитывает на то что в shell_ini_config_comment будет находиться не признак комментария (один символ или последовательность). Мне встречались конфиги в которых сразу два типа комментария. А какие сложности использовать условия (перечисление) при выборе комментариев ? А, вопрос что с записью. Да, тут либо выбрать первый символ, либо отдельную настройку для записи комментариев. (В ответ на комментарий №7) > А, вопрос что с записью. Да, тут либо выбрать первый символ, либо отдельную > настройку для записи комментариев. На чтение всё более-менее понятно. Вопрос как вычленить символы (их может быть несколько) из списка. Сейчас последовательность в shell_ini_config_comment это признак комментария. Чтобы и сколько бы там ни было. Идея с паттерном на чтение в одной переменной и символом комментария на запись в другой мне не нравится. Если хочется иметь список, то по хорошему нужно делать отдельную переменную и в ней отдельно описывать, чтобы потом можно было выбрать. А это уже несколько другая задача по сложности. Ну, если считать что паттерн разделяется '|' то вычленить из этой последовательности первый вполне реально. А какие ещё варианты паттернов используются для поиска комментариев ? (В ответ на комментарий №9) > Ну, если считать что паттерн разделяется '|' то вычленить из этой > последовательности первый вполне реально. "#|\||\\|\;;" Какие символы перечислены ? :) Разбор такой строки сложнее чем кажется. > А какие ещё варианты паттернов используются для поиска комментариев ? Не понял вопроса. Перечислено: # \ \\ \;; Хотя, ты прав. Но в переменную попадёт всё равно: #|||\|;; Т.е. - в твоём случае экранирование уберётcя на этапе присвоения и разбирать тебе придётся уже "очищенную переменную" Для протокола: "#|\||\\|\;;" это "#" или "|" или "\" или ";;". Разделителем является "|" экранирование как в шелле.
> Т.е. - в твоём случае экранирование уберётcя на этапе присвоения и разбирать
> тебе придётся уже "очищенную переменную"
Можно присвоить это с экранированием. Разобрать эту строчку тоже можно (я не говорил, что этого сделать нельзя). Вот только код для этого будет примерно с половину всего shell-ini-config.
Я исхожу из того сколько сколько усилий нужно потратить ради достижения цели и в данном конкретном случае гораздо проще привести разные типы комментариев к одному.
|