Какой символ лучше всего использовать в качестве разделителя в пользовательском пакетном синтаксисе? - PullRequest
2 голосов
/ 09 апреля 2009

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

Переменные могут включать URL-адреса, пути к папкам, имена файлов и некоторые пользовательские сообщения.

Так есть ли персонажи, которые нельзя использовать для первых трех? Это было бы очевидным выбором для использования в качестве разделителя. Как насчет старой доброй запятой?

Спасибо!

Ответы [ 7 ]

5 голосов
/ 09 апреля 2009

Вы можете использовать либо:

  1. A Контрольный символ : Контрольные символы не отображаются в файлах. Tab (\ t), вероятно, лучший выбор здесь.
  2. Некоторая комбинация символов, которая вряд ли встречается в ваших файлах. Например, #s# и т. Д.

В общем, предпочтительнее использовать Tab.

3 голосов
/ 09 апреля 2009

Почему бы просто не использовать то, что уже существует? Существует один или два варианта: perl, python, ruby, bash, sh, csh, Groovy, ECMAscript, рай для файлов сценариев запрещенных окон.

Я не вижу, что вы получите, написав еще один синтаксис командного файла.

2 голосов
/ 09 апреля 2009

Вкладки. А затем разверните или сожмите все вкладки, найденные в тексте.

1 голос
/ 09 апреля 2009

Выберите разделитель, который имеет наименьшую вероятность столкновения с именами любой переменной, которая у вас может быть (что исключает #, /, : и т. Д.). Запятая (,) выглядит хорошо для меня (если только в вашем пользовательском сообщении их нет) или < и > (в зависимости от предыдущего условия).

Тем не менее, вам также может понадобиться экранировать символы-разделители, встречающиеся как часть переменных, которые вы хотите разделить.

0 голосов
/ 17 апреля 2014

Как насчет String.fromCharCode(1)?

0 голосов
/ 09 апреля 2009

Я бы использовал '|'

Это один из самых редких персонажей.

0 голосов
/ 09 апреля 2009

Это звучит как очень плохая идея. Нет необходимости создавать еще один язык (для представления данных), есть множество языков, которые могут удовлетворить ваши потребности. В дополнение к Ruby, Perl и т. Д. Вы можете рассмотреть YAML .

Разработка хорошего синтаксиса для такого рода сложна и сопряжена с опасностью. заново изобретает колесо звонит в колокол?

...