2016-08-13 3 views
2

Мне нужно передать массив в качестве аргумента в мое приложение. Это массив цветов в формате hsl, поэтому значения выглядят как "hsl(123,20%,30%)","hsl(94,30%,30%)". Из-за этого разделяющие элементы с , здесь, кажется, не очень удобны. Что такое другие обозначения? Если я хорошо помню, что Java использовал : в качестве разделителя списка. Является ли это широко используемой нотации?Что такое стандартная нотация для передачи массива для программирования в качестве аргумента CLI?

+0

Какая оболочка? Какая программа? – TessellatingHeckler

ответ

1

Оболочка A (POSIX) на самом деле не очень беспокоит аргументы, которые вы передаете своей программе. Единственная проблема здесь в том, что вам нужно процитировать их, потому что вы используете скобки, которые оболочка не любит кавычки, за исключением случаев, когда часть какой-то синтаксической конструкции.

Если вы хотите использовать запятую, двоеточие или что-то другое, то не связано с оболочкой, а также то, как ваше приложение анализирует свои параметры. Наличие запятых как разделителей компонентов, так и разделителей элементов массива не так сложно для парсера, но другая пунктуация упростит его. Возможно, я использовал точку с запятой, все еще предполагая, что аргумент цитируется.

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

+1

Вопрос состоит в том, чтобы отделить несколько этих цветов и не использовать запятую для этого, поскольку он уже используется внутри каждого определения цвета. – TessellatingHeckler

+0

@TessellatingHeckler Вы правы, я неправильно понял вопрос. Ответ переписан. – jlliagre